Kaydet (Commit) 99b85984 authored tarafından Jan Holesovsky's avatar Jan Holesovsky

sd bccu#1840: .uno: commands for inserting rows / columns in Impress.

Change-Id: Ic07722c3e1f75d909ec8f123919a1898dfde05b0
üst 07f1a395
......@@ -529,6 +529,12 @@
#define SID_RULER_PROTECT ( SID_SVX_START + 415 )
#define SID_COLOR_CONTROL ( SID_SVX_START + 417 )
#define SID_TABLE_INSERT_COL_BEFORE ( SID_SVX_START + 418 )
#define SID_TABLE_INSERT_COL_AFTER ( SID_SVX_START + 419 )
#define SID_TABLE_INSERT_ROW_BEFORE ( SID_SVX_START + 420 )
#define SID_TABLE_INSERT_ROW_AFTER ( SID_SVX_START + 421 )
#define SID_ATTR_3D_INTERN ( SID_SVX_START + 422 )
#define SID_PSZ_FUNCTION ( SID_SVX_START + 423 )
......
......@@ -83,11 +83,31 @@ shell TableObjectBar
ExecMethod = Execute;
StateMethod = GetState;
]
SID_TABLE_INSERT_ROW_BEFORE
[
ExecMethod = Execute;
StateMethod = GetState;
]
SID_TABLE_INSERT_ROW_AFTER
[
ExecMethod = Execute;
StateMethod = GetState;
]
SID_TABLE_INSERT_COL_DLG
[
ExecMethod = Execute;
StateMethod = GetState;
]
SID_TABLE_INSERT_COL_BEFORE
[
ExecMethod = Execute;
StateMethod = GetState;
]
SID_TABLE_INSERT_COL_AFTER
[
ExecMethod = Execute;
StateMethod = GetState;
]
SID_TABLE_DELETE_ROW
[
ExecMethod = Execute;
......
......@@ -134,23 +134,45 @@ void TableObjectBar::Execute( SfxRequest& rReq )
switch( nSlotId )
{
case SID_TABLE_INSERT_ROW_DLG:
case SID_TABLE_INSERT_ROW_BEFORE:
case SID_TABLE_INSERT_ROW_AFTER:
case SID_TABLE_INSERT_COL_DLG:
case SID_TABLE_INSERT_COL_BEFORE:
case SID_TABLE_INSERT_COL_AFTER:
{
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
std::unique_ptr<SvxAbstractInsRowColDlg> pDlg( pFact ? pFact->CreateSvxInsRowColDlg( mpView->GetViewShell()->GetParentWindow(), nSlotId == SID_TABLE_INSERT_COL_DLG, SD_MOD()->GetSlotPool()->GetSlot(nSlotId)->GetCommand()) : nullptr);
if( pDlg.get() && (pDlg->Execute() == 1) )
std::unique_ptr<SvxAbstractInsRowColDlg> pDlg;
if (nSlotId == SID_TABLE_INSERT_ROW_DLG || nSlotId == SID_TABLE_INSERT_COL_DLG)
{
if( nSlotId == SID_TABLE_INSERT_ROW_DLG )
nSlotId = SID_TABLE_INSERT_ROW;
else
nSlotId = SID_TABLE_INSERT_COL;
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
pDlg.reset(pFact ? pFact->CreateSvxInsRowColDlg(mpView->GetViewShell()->GetParentWindow(), nSlotId == SID_TABLE_INSERT_COL_DLG, SD_MOD()->GetSlotPool()->GetSlot(nSlotId)->GetCommand()) : nullptr);
if (!pDlg.get() || (pDlg->Execute() != 1))
break;
}
rReq.AppendItem( SfxInt16Item( (sal_uInt16)nSlotId, (sal_uInt16)pDlg->getInsertCount() ) );
rReq.AppendItem( SfxBoolItem( SID_TABLE_PARAM_INSERT_AFTER, !pDlg->isInsertBefore() ) );
sal_uInt16 nCount = 1;
bool bInsertAfter = (nSlotId == SID_TABLE_INSERT_ROW_AFTER) || (nSlotId == SID_TABLE_INSERT_COL_AFTER);
rReq.SetSlot( (sal_uInt16)nSlotId );
if (nSlotId == SID_TABLE_INSERT_ROW_DLG)
{
nCount = pDlg->getInsertCount();
bInsertAfter = !pDlg->isInsertBefore();
}
else if (nSlotId == SID_TABLE_INSERT_COL_DLG)
{
nCount = pDlg->getInsertCount();
bInsertAfter = !pDlg->isInsertBefore();
}
if (nSlotId == SID_TABLE_INSERT_ROW_DLG || nSlotId == SID_TABLE_INSERT_ROW_BEFORE || nSlotId == SID_TABLE_INSERT_ROW_AFTER)
nSlotId = SID_TABLE_INSERT_ROW;
else
nSlotId = SID_TABLE_INSERT_COL;
rReq.AppendItem(SfxInt16Item((sal_uInt16)nSlotId, nCount));
rReq.AppendItem(SfxBoolItem(SID_TABLE_PARAM_INSERT_AFTER, bInsertAfter));
rReq.SetSlot( (sal_uInt16)nSlotId );
}
}
......
......@@ -11312,7 +11312,45 @@ SfxVoidItem InsertColumnDialog SID_TABLE_INSERT_COL_DLG
GroupId = GID_TABLE;
]
SfxVoidItem InsertColumnsBefore SID_TABLE_INSERT_COL_BEFORE
()
[
/* flags: */
AutoUpdate = FALSE,
FastCall = TRUE,
ReadOnlyDoc = FALSE,
Toggle = FALSE,
Container = FALSE,
RecordAbsolute = FALSE,
RecordPerSet;
Asynchron;
/* config: */
AccelConfig = FALSE,
MenuConfig = FALSE,
ToolBoxConfig = TRUE,
GroupId = GID_TABLE;
]
SfxVoidItem InsertColumnsAfter SID_TABLE_INSERT_COL_AFTER
()
[
/* flags: */
AutoUpdate = FALSE,
FastCall = TRUE,
ReadOnlyDoc = FALSE,
Toggle = FALSE,
Container = FALSE,
RecordAbsolute = FALSE,
RecordPerSet;
Asynchron;
/* config: */
AccelConfig = FALSE,
MenuConfig = FALSE,
ToolBoxConfig = TRUE,
GroupId = GID_TABLE;
]
SfxVoidItem InsertRowDialog SID_TABLE_INSERT_ROW_DLG
()
......@@ -11332,6 +11370,46 @@ SfxVoidItem InsertRowDialog SID_TABLE_INSERT_ROW_DLG
GroupId = GID_TABLE;
]
SfxVoidItem InsertRowsBefore SID_TABLE_INSERT_ROW_BEFORE
()
[
/* flags: */
AutoUpdate = FALSE,
FastCall = TRUE,
ReadOnlyDoc = FALSE,
Toggle = FALSE,
Container = FALSE,
RecordAbsolute = FALSE,
RecordPerSet;
Asynchron;
/* config: */
AccelConfig = FALSE,
MenuConfig = FALSE,
ToolBoxConfig = TRUE,
GroupId = GID_TABLE;
]
SfxVoidItem InsertRowsAfter SID_TABLE_INSERT_ROW_AFTER
()
[
/* flags: */
AutoUpdate = FALSE,
FastCall = TRUE,
ReadOnlyDoc = FALSE,
Toggle = FALSE,
Container = FALSE,
RecordAbsolute = FALSE,
RecordPerSet;
Asynchron;
/* config: */
AccelConfig = FALSE,
MenuConfig = FALSE,
ToolBoxConfig = TRUE,
GroupId = GID_TABLE;
]
SfxVoidItem PrepareMailExport SID_MAIL_PREPAREEXPORT
()
[
......
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