diff options
Diffstat (limited to 'sw/source/ui')
-rw-r--r-- | sw/source/ui/docvw/PageBreakWin.cxx | 24 | ||||
-rw-r--r-- | sw/source/ui/shells/tabsh.cxx | 3 |
2 files changed, 22 insertions, 5 deletions
diff --git a/sw/source/ui/docvw/PageBreakWin.cxx b/sw/source/ui/docvw/PageBreakWin.cxx index 2b70887ad087..170ccce84e72 100644 --- a/sw/source/ui/docvw/PageBreakWin.cxx +++ b/sw/source/ui/docvw/PageBreakWin.cxx @@ -244,10 +244,25 @@ void SwPageBreakWin::Select( ) { case FN_PAGEBREAK_EDIT: { - // TODO Handle the break on a table case - SfxUInt16Item aItem( GetEditWin()->GetView().GetPool( ).GetWhich( SID_PARA_DLG ), TP_PARA_EXT ); - GetEditWin()->GetView().GetViewFrame()->GetDispatcher()->Execute( - SID_PARA_DLG, SFX_CALLMODE_SYNCHRON|SFX_CALLMODE_RECORD, &aItem, NULL ); + const SwLayoutFrm* pBodyFrm = static_cast< const SwLayoutFrm* >( GetPageFrame()->Lower() ); + while ( pBodyFrm && !pBodyFrm->IsBodyFrm() ) + pBodyFrm = static_cast< const SwLayoutFrm* >( pBodyFrm->GetNext() ); + + if ( pBodyFrm ) + { + if ( pBodyFrm->Lower()->IsTabFrm() ) + { + SfxUInt16Item aItem( GetEditWin()->GetView().GetPool( ).GetWhich( FN_FORMAT_TABLE_DLG ), TP_TABLE_TEXTFLOW ); + GetEditWin()->GetView().GetViewFrame()->GetDispatcher()->Execute( + FN_FORMAT_TABLE_DLG, SFX_CALLMODE_SYNCHRON|SFX_CALLMODE_RECORD, &aItem, NULL ); + } + else + { + SfxUInt16Item aItem( GetEditWin()->GetView().GetPool( ).GetWhich( SID_PARA_DLG ), TP_PARA_EXT ); + GetEditWin()->GetView().GetViewFrame()->GetDispatcher()->Execute( + SID_PARA_DLG, SFX_CALLMODE_SYNCHRON|SFX_CALLMODE_RECORD, &aItem, NULL ); + } + } } break; case FN_PAGEBREAK_DELETE: @@ -258,7 +273,6 @@ void SwPageBreakWin::Select( ) if ( pBodyFrm ) { - // TODO Handle the break before a table case SwCntntFrm *pCnt = const_cast< SwCntntFrm* >( pBodyFrm->ContainsCntnt() ); sal_uInt16 nWhich = pCnt->GetAttrSet()->GetPool()->GetWhich( SID_ATTR_PARA_PAGEBREAK ); SwCntntNode* pNd = pCnt->GetNode(); diff --git a/sw/source/ui/shells/tabsh.cxx b/sw/source/ui/shells/tabsh.cxx index bfc441a22d5e..44500b80fdac 100644 --- a/sw/source/ui/shells/tabsh.cxx +++ b/sw/source/ui/shells/tabsh.cxx @@ -596,6 +596,9 @@ void SwTableShell::Execute(SfxRequest &rReq) pDlg = pFact->CreateSwTableTabDlg( GetView().GetWindow(), GetPool(), &aCoreSet, &rSh, DLG_FORMAT_TABLE ); OSL_ENSURE(pDlg, "Dialogdiet fail!"); + + if( pItem ) + pDlg->SetCurPageId( ((SfxUInt16Item *)pItem)->GetValue() ); } aCoreSet.Put(SfxUInt16Item(SID_HTML_MODE, ::GetHtmlMode(GetView().GetDocShell()))); rSh.GetTblAttr(aCoreSet); |