diff options
Diffstat (limited to 'sd/source')
-rw-r--r-- | sd/source/ui/func/fuconcs.cxx | 5 | ||||
-rw-r--r-- | sd/source/ui/inc/DrawViewShell.hxx | 1 | ||||
-rw-r--r-- | sd/source/ui/inc/fuconcs.hxx | 1 | ||||
-rw-r--r-- | sd/source/ui/table/tablefunction.cxx | 1 | ||||
-rw-r--r-- | sd/source/ui/view/drviews2.cxx | 17 | ||||
-rw-r--r-- | sd/source/ui/view/drviews7.cxx | 47 | ||||
-rw-r--r-- | sd/source/ui/view/drviewsc.cxx | 155 | ||||
-rw-r--r-- | sd/source/ui/view/drviewse.cxx | 9 |
8 files changed, 23 insertions, 213 deletions
diff --git a/sd/source/ui/func/fuconcs.cxx b/sd/source/ui/func/fuconcs.cxx index af30ec286d9b..53a31f8cbad7 100644 --- a/sd/source/ui/func/fuconcs.cxx +++ b/sd/source/ui/func/fuconcs.cxx @@ -258,6 +258,11 @@ void FuConstructCustomShape::SetAttributes( SdrObject* pObj ) } } +OUString FuConstructCustomShape::GetShapeType() const +{ + return aCustomShape; +} + SdrObject* FuConstructCustomShape::CreateDefaultObject(const sal_uInt16, const Rectangle& rRectangle) { SdrObject* pObj = SdrObjFactory::MakeNewObject( diff --git a/sd/source/ui/inc/DrawViewShell.hxx b/sd/source/ui/inc/DrawViewShell.hxx index b2d2d10e8235..b3eefc112328 100644 --- a/sd/source/ui/inc/DrawViewShell.hxx +++ b/sd/source/ui/inc/DrawViewShell.hxx @@ -420,7 +420,6 @@ protected: void SetupPage( Size &rSize, long nLeft, long nRight, long nUpper, long nLower, bool bSize, bool bMargin, bool bScaleAll ); - static sal_uInt16 GetIdBySubId( sal_uInt16 nSId ); void GetMenuStateSel(SfxItemSet& rSet); private: diff --git a/sd/source/ui/inc/fuconcs.hxx b/sd/source/ui/inc/fuconcs.hxx index 63c6b71a28f8..5e253a2813ac 100644 --- a/sd/source/ui/inc/fuconcs.hxx +++ b/sd/source/ui/inc/fuconcs.hxx @@ -46,6 +46,7 @@ public: virtual void Activate() SAL_OVERRIDE; void SetAttributes( SdrObject* pObj ); + OUString GetShapeType() const; virtual SdrObject* CreateDefaultObject(const sal_uInt16 nID, const Rectangle& rRectangle) SAL_OVERRIDE; diff --git a/sd/source/ui/table/tablefunction.cxx b/sd/source/ui/table/tablefunction.cxx index 291cff7798f5..15731f7661d1 100644 --- a/sd/source/ui/table/tablefunction.cxx +++ b/sd/source/ui/table/tablefunction.cxx @@ -190,7 +190,6 @@ void DrawViewShell::FuTable(SfxRequest& rReq) else mpView->InsertObjectAtView(pObj, *pPV, SdrInsertFlags::SETDEFLAYER); - Invalidate(SID_DRAWTBX_INSERT); rReq.Ignore(); SfxViewShell* pViewShell = GetViewShell(); OSL_ASSERT (pViewShell!=NULL); diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx index 7108b3571d12..9999d012a361 100644 --- a/sd/source/ui/view/drviews2.cxx +++ b/sd/source/ui/view/drviews2.cxx @@ -1111,7 +1111,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) SetCurrentFunction( FuInsertGraphic::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) ); Cancel(); rReq.Ignore (); - Invalidate(SID_DRAWTBX_INSERT); } break; @@ -1121,8 +1120,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) Cancel(); rReq.Ignore (); - - Invalidate(SID_DRAWTBX_INSERT); } break; @@ -1142,8 +1139,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) SetOldFunction( FuSelection::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) ); Cancel(); rReq.Ignore (); - - Invalidate(SID_DRAWTBX_INSERT); } break; #if HAVE_FEATURE_GLTF @@ -1153,8 +1148,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) Cancel(); rReq.Ignore (); - - Invalidate(SID_DRAWTBX_INSERT); } break; #endif @@ -1187,8 +1180,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) Broadcast (ViewShellHint(ViewShellHint::HINT_COMPLEX_MODEL_CHANGE_END)); Cancel(); rReq.Done (); - - Invalidate(SID_DRAWTBX_INSERT); } break; @@ -1205,8 +1196,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) case SID_BEHIND_OBJ: { SetCurrentFunction( FuDisplayOrder::Create(this, GetActiveWindow(), mpDrawView, GetDoc(), rReq) ); - Invalidate( SID_POSITION ); - rReq.Ignore (); + rReq.Done(); // finishes itself, no Cancel() needed! } break; @@ -1214,7 +1204,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) case SID_REVERSE_ORDER: // BASIC { mpDrawView->ReverseOrderOfMarked(); - Invalidate( SID_POSITION ); Cancel(); rReq.Done (); } @@ -2421,7 +2410,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) { mpDrawView->PutMarkedToTop(); Cancel(); - Invalidate( SID_POSITION ); rReq.Done (); } break; @@ -2430,7 +2418,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) { mpDrawView->MovMarkedToTop(); Cancel(); - Invalidate( SID_POSITION ); rReq.Done (); } break; @@ -2439,7 +2426,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) { mpDrawView->MovMarkedToBtm(); Cancel(); - Invalidate( SID_POSITION ); rReq.Done (); } break; @@ -2448,7 +2434,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) { mpDrawView->PutMarkedToBtm(); Cancel(); - Invalidate( SID_POSITION ); rReq.Done (); } break; diff --git a/sd/source/ui/view/drviews7.cxx b/sd/source/ui/view/drviews7.cxx index ca5023b8ea39..b773cff8484b 100644 --- a/sd/source/ui/view/drviews7.cxx +++ b/sd/source/ui/view/drviews7.cxx @@ -82,6 +82,7 @@ #include "Window.hxx" #include "fuediglu.hxx" #include "fubullet.hxx" +#include "fuconcs.hxx" #include "fuformatpaintbrush.hxx" #include <config_features.h> @@ -278,11 +279,7 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet ) if(HasCurrentFunction()) { sal_uInt16 nSId = GetCurrentFunction()->GetSlotID(); - sal_uInt16 nMainId = GetIdBySubId( nSId ); - rSet.Put( SfxBoolItem( nSId, true ) ); - if ( nMainId != 0 ) - rSet.Put( SfxBoolItem( nMainId, true ) ); } SdrPageView* pPageView = mpDrawView->GetSdrPageView(); @@ -1047,7 +1044,6 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet ) nCurrentSId = SID_ATTR_CHAR; rSet.Put( SfxBoolItem( nCurrentSId, true ) ); - rSet.Put( SfxBoolItem( SID_DRAWTBX_TEXT, true ) ); } if ( GetDocSh()->IsReadOnly() ) @@ -1334,20 +1330,8 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet ) if( xSlideshow.is() && xSlideshow->isRunning() ) { - rSet.ClearItem(SID_ZOOM_TOOLBOX); - rSet.ClearItem(SID_OBJECT_CHOOSE_MODE); - rSet.ClearItem(SID_DRAWTBX_TEXT); - rSet.ClearItem(SID_DRAWTBX_RECTANGLES); - rSet.ClearItem(SID_DRAWTBX_ELLIPSES); - rSet.ClearItem(SID_DRAWTBX_LINES); - rSet.ClearItem(SID_DRAWTBX_ARROWS); - rSet.ClearItem(SID_DRAWTBX_3D_OBJECTS); - rSet.ClearItem(SID_DRAWTBX_CONNECTORS); - rSet.ClearItem(SID_OBJECT_CHOOSE_MODE ); - rSet.ClearItem(SID_DRAWTBX_INSERT); rSet.ClearItem(SID_INSERTFILE); rSet.ClearItem(SID_OBJECT_ROTATE); - rSet.ClearItem(SID_POSITION); rSet.ClearItem(SID_FM_CONFIG); rSet.ClearItem(SID_ANIMATION_EFFECTS); rSet.ClearItem(SID_ANIMATION_OBJECTS); @@ -1538,22 +1522,23 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet ) //highlight selected custom shape { - sal_uInt16 nCurrentSId = 0; if(HasCurrentFunction()) - nCurrentSId = GetCurrentFunction()->GetSlotID(); + { + rtl::Reference< FuPoor > xFunc( GetCurrentFunction() ); + FuConstructCustomShape* pShapeFunc = dynamic_cast< FuConstructCustomShape* >( xFunc.get() ); + + static const sal_uInt16 nCSTbArray[] = { SID_DRAWTBX_CS_BASIC, SID_DRAWTBX_CS_SYMBOL, + SID_DRAWTBX_CS_ARROW, SID_DRAWTBX_CS_FLOWCHART, + SID_DRAWTBX_CS_CALLOUT, SID_DRAWTBX_CS_STAR }; - if ( SfxItemState::DEFAULT == rSet.GetItemState( SID_DRAWTBX_CS_BASIC ) ) - rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_BASIC, SID_DRAWTBX_CS_BASIC == nCurrentSId )); - if ( SfxItemState::DEFAULT == rSet.GetItemState( SID_DRAWTBX_CS_SYMBOL ) ) - rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_SYMBOL, SID_DRAWTBX_CS_SYMBOL == nCurrentSId )); - if ( SfxItemState::DEFAULT == rSet.GetItemState( SID_DRAWTBX_CS_ARROW ) ) - rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_ARROW, SID_DRAWTBX_CS_ARROW == nCurrentSId )); - if ( SfxItemState::DEFAULT == rSet.GetItemState( SID_DRAWTBX_CS_FLOWCHART ) ) - rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_FLOWCHART, SID_DRAWTBX_CS_FLOWCHART == nCurrentSId )); - if ( SfxItemState::DEFAULT == rSet.GetItemState( SID_DRAWTBX_CS_CALLOUT ) ) - rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_CALLOUT,SID_DRAWTBX_CS_CALLOUT == nCurrentSId )); - if ( SfxItemState::DEFAULT == rSet.GetItemState( SID_DRAWTBX_CS_STAR ) ) - rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_STAR, SID_DRAWTBX_CS_STAR == nCurrentSId )); + const sal_uInt16 nCurrentSId = GetCurrentFunction()->GetSlotID(); + for ( size_t i = 0; i < SAL_N_ELEMENTS( nCSTbArray ); ++i ) + { + rSet.ClearItem( nCSTbArray[i] ); // Why is this necessary? + rSet.Put( SfxStringItem( nCSTbArray[i], nCurrentSId == nCSTbArray[i] && pShapeFunc + ? pShapeFunc->GetShapeType() : OUString() ) ); + } + } } if ( bDisableEditHyperlink || GetDocSh()->IsReadOnly() ) diff --git a/sd/source/ui/view/drviewsc.cxx b/sd/source/ui/view/drviewsc.cxx index 78afdcf83cf9..61957356d273 100644 --- a/sd/source/ui/view/drviewsc.cxx +++ b/sd/source/ui/view/drviewsc.cxx @@ -51,161 +51,6 @@ #include "sdabstdlg.hxx" namespace sd { -/** - * Returns the ID of the group button, if it should be toggled. - */ -sal_uInt16 DrawViewShell::GetIdBySubId( sal_uInt16 nSId ) -{ - sal_uInt16 nMappedSId = 0; - switch( nSId ) - { - case SID_OBJECT_ROTATE: - case SID_OBJECT_MIRROR: - case SID_OBJECT_TRANSPARENCE: - case SID_OBJECT_GRADIENT: - case SID_OBJECT_SHEAR: - case SID_OBJECT_CROOK_ROTATE: - case SID_OBJECT_CROOK_SLANT: - case SID_OBJECT_CROOK_STRETCH: - case SID_CONVERT_TO_3D_LATHE: - { - nMappedSId = SID_OBJECT_CHOOSE_MODE; - } - break; - - case SID_BEFORE_OBJ: - case SID_BEHIND_OBJ: - { - nMappedSId = SID_POSITION; - } - break; - - case SID_ZOOM_PANNING: - case SID_ZOOM_MODE: - { - nMappedSId = SID_ZOOM_TOOLBOX; - } - break; - - case SID_ATTR_CHAR: - case SID_TEXT_FITTOSIZE: - case SID_DRAW_CAPTION: - case SID_DRAW_FONTWORK: - case SID_DRAW_FONTWORK_VERTICAL: - { - nMappedSId = SID_DRAWTBX_TEXT; - } - break; - - case SID_DRAW_RECT: - case SID_DRAW_SQUARE: - case SID_DRAW_RECT_ROUND: - case SID_DRAW_SQUARE_ROUND: - case SID_DRAW_RECT_NOFILL: - case SID_DRAW_SQUARE_NOFILL: - case SID_DRAW_RECT_ROUND_NOFILL: - case SID_DRAW_SQUARE_ROUND_NOFILL: - { - nMappedSId = SID_DRAWTBX_RECTANGLES; - } - break; - - case SID_DRAW_ELLIPSE: - case SID_DRAW_CIRCLE: - case SID_DRAW_PIE: - case SID_DRAW_CIRCLEPIE: - case SID_DRAW_ELLIPSECUT: - case SID_DRAW_CIRCLECUT: - case SID_DRAW_ARC: - case SID_DRAW_CIRCLEARC: - case SID_DRAW_ELLIPSE_NOFILL: - case SID_DRAW_CIRCLE_NOFILL: - case SID_DRAW_PIE_NOFILL: - case SID_DRAW_CIRCLEPIE_NOFILL: - case SID_DRAW_ELLIPSECUT_NOFILL: - case SID_DRAW_CIRCLECUT_NOFILL: - { - nMappedSId = SID_DRAWTBX_ELLIPSES; - } - break; - - case SID_DRAW_BEZIER_NOFILL: - case SID_DRAW_POLYGON_NOFILL: - case SID_DRAW_XPOLYGON_NOFILL: - case SID_DRAW_FREELINE_NOFILL: - case SID_DRAW_BEZIER_FILL: - case SID_DRAW_POLYGON: - case SID_DRAW_XPOLYGON: - case SID_DRAW_FREELINE: - { - nMappedSId = SID_DRAWTBX_LINES; - } - break; - - case SID_DRAW_LINE: - case SID_DRAW_XLINE: - case SID_DRAW_MEASURELINE: - case SID_LINE_ARROW_START: - case SID_LINE_ARROW_END: - case SID_LINE_ARROWS: - case SID_LINE_ARROW_CIRCLE: - case SID_LINE_CIRCLE_ARROW: - case SID_LINE_ARROW_SQUARE: - case SID_LINE_SQUARE_ARROW: - { - nMappedSId = SID_DRAWTBX_ARROWS; - } - break; - - case SID_3D_CUBE: - case SID_3D_TORUS: - case SID_3D_SPHERE: - case SID_3D_SHELL: - case SID_3D_HALF_SPHERE: - case SID_3D_CYLINDER: - case SID_3D_CONE: - case SID_3D_PYRAMID: - { - nMappedSId = SID_DRAWTBX_3D_OBJECTS; - } - break; - - case SID_TOOL_CONNECTOR: - case SID_CONNECTOR_ARROW_START: - case SID_CONNECTOR_ARROW_END: - case SID_CONNECTOR_ARROWS: - case SID_CONNECTOR_CIRCLE_START: - case SID_CONNECTOR_CIRCLE_END: - case SID_CONNECTOR_CIRCLES: - case SID_CONNECTOR_LINE: - case SID_CONNECTOR_LINE_ARROW_START: - case SID_CONNECTOR_LINE_ARROW_END: - case SID_CONNECTOR_LINE_ARROWS: - case SID_CONNECTOR_LINE_CIRCLE_START: - case SID_CONNECTOR_LINE_CIRCLE_END: - case SID_CONNECTOR_LINE_CIRCLES: - case SID_CONNECTOR_CURVE: - case SID_CONNECTOR_CURVE_ARROW_START: - case SID_CONNECTOR_CURVE_ARROW_END: - case SID_CONNECTOR_CURVE_ARROWS: - case SID_CONNECTOR_CURVE_CIRCLE_START: - case SID_CONNECTOR_CURVE_CIRCLE_END: - case SID_CONNECTOR_CURVE_CIRCLES: - case SID_CONNECTOR_LINES: - case SID_CONNECTOR_LINES_ARROW_START: - case SID_CONNECTOR_LINES_ARROW_END: - case SID_CONNECTOR_LINES_ARROWS: - case SID_CONNECTOR_LINES_CIRCLE_START: - case SID_CONNECTOR_LINES_CIRCLE_END: - case SID_CONNECTOR_LINES_CIRCLES: - { - nMappedSId = SID_DRAWTBX_CONNECTORS; - } - } - return nMappedSId; -} - - void DrawViewShell::UpdateIMapDlg( SdrObject* pObj ) { if( ( pObj->ISA( SdrGrafObj ) || pObj->ISA( SdrOle2Obj ) ) && !mpDrawView->IsTextEdit() && diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx index 70cd2f6e8fc1..0eb9f29177c4 100644 --- a/sd/source/ui/view/drviewse.cxx +++ b/sd/source/ui/view/drviewse.cxx @@ -1133,7 +1133,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) Invalidate( SID_ZOOM_IN ); Invalidate( SID_ZOOM_OUT ); Invalidate( SID_ZOOM_PANNING ); - Invalidate( SID_ZOOM_TOOLBOX ); rReq.Done (); } break; @@ -1148,7 +1147,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) Invalidate( SID_ZOOM_IN ); Invalidate( SID_ZOOM_OUT ); Invalidate( SID_ZOOM_PANNING ); - Invalidate( SID_ZOOM_TOOLBOX ); rReq.Done (); } break; @@ -1163,7 +1161,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) Invalidate( SID_ZOOM_IN ); Invalidate( SID_ZOOM_OUT ); Invalidate( SID_ZOOM_PANNING ); - Invalidate( SID_ZOOM_TOOLBOX ); rReq.Done (); } break; @@ -1177,7 +1174,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) mpZoomList->InsertZoomRect(aVisAreaWin); Invalidate( SID_ZOOM_IN ); Invalidate( SID_ZOOM_PANNING ); - Invalidate( SID_ZOOM_TOOLBOX ); rReq.Done (); } break; @@ -1194,7 +1190,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) Invalidate( SID_ZOOM_IN ); Invalidate( SID_ZOOM_OUT ); Invalidate( SID_ZOOM_PANNING ); - Invalidate( SID_ZOOM_TOOLBOX ); } rReq.Done (); } @@ -1225,7 +1220,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) Invalidate( SID_ZOOM_IN ); Invalidate( SID_ZOOM_OUT ); Invalidate( SID_ZOOM_PANNING ); - Invalidate( SID_ZOOM_TOOLBOX ); rReq.Done (); } break; @@ -1258,7 +1252,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) Invalidate( SID_ZOOM_IN ); Invalidate( SID_ZOOM_OUT ); Invalidate( SID_ZOOM_PANNING ); - Invalidate( SID_ZOOM_TOOLBOX ); } rReq.Done (); } @@ -1277,7 +1270,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) SetZoomRect(mpZoomList->GetPreviousZoomRect()); } rReq.Done (); - Invalidate( SID_ZOOM_TOOLBOX ); } break; @@ -1294,7 +1286,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) SetZoomRect(mpZoomList->GetNextZoomRect()); } rReq.Done (); - Invalidate( SID_ZOOM_TOOLBOX ); } break; |