Kaydet (Commit) 692ea03e authored tarafından Miklos Vajna's avatar Miklos Vajna

sw: add UI for removing the textbox of a draw shape

Change-Id: Ib95573228d3dc98c88cd4af19995c99433c84ae6
üst 7f77b8a6
......@@ -479,6 +479,7 @@
#define FN_EXPAND_GLOSSARY (FN_EXTRA + 28) /* expand text building blocks */
#define FN_CHANGE_PAGENUM (FN_EXTRA + 34) /* change page numbers*/
#define FN_ADD_TEXT_BOX (FN_EXTRA + 35) /* add text box to draw shape */
#define FN_REMOVE_TEXT_BOX (FN_EXTRA + 36) /* remove text box of draw shape */
// Region: Glossary
......
......@@ -79,6 +79,7 @@
#define CMD_FN_PRINT_PAGEPREVIEW ".uno:PrintPagePreview"
#define CMD_FN_TABLE_SET_READ_ONLY_CELLS ".uno:Protect"
#define CMD_FN_REMOVE_CUR_TOX ".uno:RemoveTableOf"
#define CMD_FN_REMOVE_TEXT_BOX ".uno:RemoveTextBox"
#define CMD_FN_FORMAT_RESET ".uno:ResetAttributes"
#define CMD_FN_TOOL_ANCHOR_AT_CHAR ".uno:SetAnchorAtChar"
#define CMD_FN_TOOL_ANCHOR_CHAR ".uno:SetAnchorToChar"
......
......@@ -515,5 +515,12 @@ shell SwDrawShell : SwDrawBaseShell
StateMethod = GetState ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
FN_REMOVE_TEXT_BOX
[
ExecMethod = Execute ;
StateMethod = GetState ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
}
......@@ -10103,3 +10103,27 @@ SfxVoidItem AddTextBox FN_ADD_TEXT_BOX
ToolBoxConfig = TRUE,
GroupId = GID_DRAWING;
]
SfxVoidItem RemoveTextBox FN_REMOVE_TEXT_BOX
()
[
/* flags: */
AutoUpdate = FALSE,
Cachable = Cachable,
FastCall = FALSE,
HasCoreId = FALSE,
HasDialog = FALSE,
ReadOnlyDoc = FALSE,
Toggle = FALSE,
Container = FALSE,
RecordAbsolute = FALSE,
RecordPerSet;
Synchron;
/* config: */
AccelConfig = TRUE,
MenuConfig = TRUE,
StatusBarConfig = FALSE,
ToolBoxConfig = TRUE,
GroupId = GID_DRAWING;
]
......@@ -1050,6 +1050,12 @@ Menu MN_DRAW_POPUPMENU
HelpId = CMD_FN_ADD_TEXT_BOX;
Text [ en-US ] = "Add Text Box";
};
MenuItem
{
Identifier = FN_REMOVE_TEXT_BOX;
HelpId = CMD_FN_REMOVE_TEXT_BOX;
Text [ en-US ] = "Remove Text Box";
};
};
};
......
......@@ -409,6 +409,16 @@ void SwDrawShell::Execute(SfxRequest &rReq)
}
break;
}
case FN_REMOVE_TEXT_BOX:
{
if (SdrObject* pObj = IsSingleFillableNonOLESelected())
{
SwFrmFmt* pFrmFmt = ::FindFrmFmt(pObj);
if (pFrmFmt)
SwTextBoxHelper::destroy(pFrmFmt);
}
break;
}
default:
OSL_ENSURE(!this, "wrong dispatcher");
return;
......@@ -525,6 +535,21 @@ void SwDrawShell::GetState(SfxItemSet& rSet)
bDisable = false;
}
if (bDisable)
rSet.DisableItem(nWhich);
break;
}
case FN_REMOVE_TEXT_BOX:
{
bool bDisable = true;
if (SdrObject* pObj = IsSingleFillableNonOLESelected())
{
SwFrmFmt* pFrmFmt = ::FindFrmFmt(pObj);
// Allow removing a TextBox only in case it has one.
if (pFrmFmt && SwTextBoxHelper::findTextBox(pFrmFmt))
bDisable = false;
}
if (bDisable)
rSet.DisableItem(nWhich);
break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment