summaryrefslogtreecommitdiff
path: root/sd/source/ui
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui')
-rw-r--r--sd/source/ui/app/menuids_tmpl.src8
-rw-r--r--sd/source/ui/app/popup2_tmpl.src43
-rwxr-xr-xsd/source/ui/inc/res_bmp.hrc3
-rwxr-xr-xsd/source/ui/view/drviews2.cxx25
-rw-r--r--sd/source/ui/view/drviews4.cxx6
-rw-r--r--sd/source/ui/view/drviewsj.cxx19
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 )