diff options
Diffstat (limited to 'sd/source/ui')
-rw-r--r-- | sd/source/ui/app/menuids_tmpl.src | 8 | ||||
-rw-r--r-- | sd/source/ui/app/popup2_tmpl.src | 43 | ||||
-rwxr-xr-x | sd/source/ui/inc/res_bmp.hrc | 3 | ||||
-rwxr-xr-x | sd/source/ui/view/drviews2.cxx | 25 | ||||
-rw-r--r-- | sd/source/ui/view/drviews4.cxx | 6 | ||||
-rw-r--r-- | sd/source/ui/view/drviewsj.cxx | 19 |
6 files changed, 96 insertions, 8 deletions
diff --git a/sd/source/ui/app/menuids_tmpl.src b/sd/source/ui/app/menuids_tmpl.src index e21caafaa739..4f05a49ad2b4 100644 --- a/sd/source/ui/app/menuids_tmpl.src +++ b/sd/source/ui/app/menuids_tmpl.src @@ -304,6 +304,14 @@ Text [ en-US ] = "~Text..." ; \ }; +#define MN_OUTLINE_TEXT_AUTOFIT \ + MenuItem\ + {\ + Identifier = SID_OUTLINE_TEXT_AUTOFIT ; \ + HelpID = SID_OUTLINE_TEXT_AUTOFIT ; \ + Text [ en-US ] = "~Autofit Text" ; \ + }; + #define MN_CONNECTION \ MenuItem\ {\ diff --git a/sd/source/ui/app/popup2_tmpl.src b/sd/source/ui/app/popup2_tmpl.src index 5ee8fb5e4d6a..46efadeb031d 100644 --- a/sd/source/ui/app/popup2_tmpl.src +++ b/sd/source/ui/app/popup2_tmpl.src @@ -79,6 +79,49 @@ }; // +// OUTLINETEXTOBJ_POPUP +// +#if SD_POPUP == RID_DRAW_TEXTOBJ_POPUP + Menu RID_DRAW_OUTLINETEXTOBJ_POPUP +#elif SD_POPUP == RID_GRAPHIC_TEXTOBJ_POPUP + Menu RID_GRAPHIC_OUTLINETEXTOBJ_POPUP +#endif +{ + ItemList = + { + MN_SET_DEFAULT + SEPARATOR + MN_LINE + MN_AREA + MN_TEXTATTR + MN_OUTLINE_TEXT_AUTOFIT + MN_TRANSFORM + MN_FONTWORK + SEPARATOR + MN_CHAR_PARAGRAPH + SEPARATOR + MN_POSITION + MN_OBJECT_ALIGN + MN_DISTRIBUTE + MNSUB_CONVERT + + //-#i68101#---------------------- + SEPARATOR + MN_OBJECT_TITLE_DESCRIPTION + MN_NAME_GROUP + //-#i68101#---------------------- + +#if SD_POPUP == RID_DRAW_TEXTOBJ_POPUP + SEPARATOR + MN_EFFECT + MN_ACTION +#endif + SEPARATOR + MN_STYLEDT + }; +}; + +// // GEOMOBJ_POPUP // #if SD_POPUP == RID_DRAW_TEXTOBJ_POPUP diff --git a/sd/source/ui/inc/res_bmp.hrc b/sd/source/ui/inc/res_bmp.hrc index 1602dc698f3f..fb788cb83614 100755 --- a/sd/source/ui/inc/res_bmp.hrc +++ b/sd/source/ui/inc/res_bmp.hrc @@ -298,6 +298,9 @@ #define RID_DRAW_TABLEOBJ_INSIDE_POPUP RID_APP_START+94 +#define RID_DRAW_OUTLINETEXTOBJ_POPUP RID_APP_START+95 +#define RID_GRAPHIC_OUTLINETEXTOBJ_POPUP RID_APP_START+96 + /* * Pointer (Mauszeiger) */ diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx index 3102dc726a61..9be01df4fe7a 100755 --- a/sd/source/ui/view/drviews2.cxx +++ b/sd/source/ui/view/drviews2.cxx @@ -130,6 +130,31 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) switch ( nSId ) { + case SID_OUTLINE_TEXT_AUTOFIT: + { + SfxUndoManager* pUndoManager = GetDocSh()->GetUndoManager(); + SdrObject* pObj = NULL; + const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList(); + if( rMarkList.GetMarkCount() == 1 ) + { + pUndoManager->EnterListAction( String(), String() ); + mpDrawView->BegUndo(); + + pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); + bool bSet = ((const SdrTextFitToSizeTypeItem*)pObj->GetMergedItemSet().GetItem(SDRATTR_TEXT_FITTOSIZE))->GetValue() != SDRTEXTFIT_NONE; + + mpDrawView->AddUndo(GetDoc()->GetSdrUndoFactory().CreateUndoAttrObject(*pObj)); + + pObj->SetMergedItem(SdrTextFitToSizeTypeItem(bSet ? SDRTEXTFIT_NONE : SDRTEXTFIT_AUTOFIT)); + + mpDrawView->EndUndo(); + pUndoManager->LeaveListAction(); + } + Cancel(); + rReq.Done(); + } + break; + // Flaechen und Linien-Attribute: // Sollten (wie StateMethode) eine eigene // Execute-Methode besitzen diff --git a/sd/source/ui/view/drviews4.cxx b/sd/source/ui/view/drviews4.cxx index 88027d360806..cc4aa5131fdc 100644 --- a/sd/source/ui/view/drviews4.cxx +++ b/sd/source/ui/view/drviews4.cxx @@ -679,9 +679,13 @@ void DrawViewShell::Command(const CommandEvent& rCEvt, ::sd::Window* pWin) { switch ( nId ) { + case OBJ_OUTLINETEXT: + nSdResId = bGraphicShell ? RID_GRAPHIC_OUTLINETEXTOBJ_POPUP : + RID_DRAW_OUTLINETEXTOBJ_POPUP; + break; + case OBJ_CAPTION: case OBJ_TITLETEXT: - case OBJ_OUTLINETEXT: case OBJ_TEXT: nSdResId = bGraphicShell ? RID_GRAPHIC_TEXTOBJ_POPUP : RID_DRAW_TEXTOBJ_POPUP; diff --git a/sd/source/ui/view/drviewsj.cxx b/sd/source/ui/view/drviewsj.cxx index ca69aeac0e59..382ac90b094b 100644 --- a/sd/source/ui/view/drviewsj.cxx +++ b/sd/source/ui/view/drviewsj.cxx @@ -208,9 +208,6 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet ) rSet.DisableItem( SID_CHANGEPOLYGON ); } - if(nInv == SdrInventor && (nId == OBJ_TITLETEXT || nId == OBJ_OUTLINETEXT)) - rSet.DisableItem( SID_TEXTATTR_DLG ); - if(nInv == SdrInventor && nId == OBJ_TABLE ) { rSet.DisableItem( SID_TEXTATTR_DLG ); @@ -303,6 +300,17 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet ) else rSet.DisableItem( SID_MODIFY_FIELD ); } + if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_OUTLINE_TEXT_AUTOFIT ) ) + { + bool bSet = false; + const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList(); + if( rMarkList.GetMarkCount() == 1 ) + { + SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); + bSet = ((const SdrTextFitToSizeTypeItem*)pObj->GetMergedItemSet().GetItem(SDRATTR_TEXT_FITTOSIZE))->GetValue() != SDRTEXTFIT_NONE; + } + rSet.Put(SfxBoolItem(SID_OUTLINE_TEXT_AUTOFIT, bSet)); + } rSet.DisableItem( SID_GROUP ); rSet.DisableItem( SID_COMBINE ); @@ -352,7 +360,6 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet ) BOOL bGraf = FALSE; BOOL bDrawObj = FALSE; BOOL b3dObj = FALSE; - BOOL bTitOutText = FALSE; bool bTable = false; BOOL bMeasureObj = FALSE; BOOL bEdgeObj = FALSE; // Connector @@ -392,8 +399,6 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet ) case OBJ_GRAF: bGraf = TRUE; break; - case OBJ_TITLETEXT: - case OBJ_OUTLINETEXT: bTitOutText = TRUE; break; case OBJ_TABLE: bTable = true; break; } } @@ -441,7 +446,7 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet ) { rSet.DisableItem( SID_UNGROUP ); } - if( bTitOutText || bTable ) + if( bTable ) rSet.DisableItem( SID_TEXTATTR_DLG ); if( !bMeasureObj ) |