diff options
author | Caolán McNamara <caolanm@redhat.com> | 2013-08-23 12:59:04 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-08-23 13:58:12 +0100 |
commit | 194c692a7fe4949684920eba53ab4dfcc3391895 (patch) | |
tree | 0977b9b47c4b5ea5b9469597a4286e6394026112 /sw/source/ui | |
parent | 7038df3a6711a59774e2cd3e3f37cc2538ae094a (diff) |
convert toc dialog to .ui
this should stop the intermittent redraw glitch and the toc dialog initially
appearing shoved up against the left edge of the screen
Change-Id: Id1dad162f110cd9140d2603a2b3b43ef64e703ca
Diffstat (limited to 'sw/source/ui')
-rw-r--r-- | sw/source/ui/dialog/swdlgfact.cxx | 23 | ||||
-rw-r--r-- | sw/source/ui/dialog/swdlgfact.hxx | 2 | ||||
-rw-r--r-- | sw/source/ui/inc/swuicnttab.hxx | 26 | ||||
-rw-r--r-- | sw/source/ui/index/cnttab.cxx | 98 | ||||
-rw-r--r-- | sw/source/ui/index/cnttab.hrc | 2 | ||||
-rw-r--r-- | sw/source/ui/index/cnttab.src | 62 | ||||
-rw-r--r-- | sw/source/ui/shells/textidx.cxx | 2 | ||||
-rw-r--r-- | sw/source/ui/utlui/glbltree.cxx | 2 |
8 files changed, 69 insertions, 148 deletions
diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx index 3c6e5b5c96ec..dfa187a70b2b 100644 --- a/sw/source/ui/dialog/swdlgfact.cxx +++ b/sw/source/ui/dialog/swdlgfact.cxx @@ -1066,24 +1066,14 @@ SfxAbstractTabDialog* SwAbstractDialogFactory_Impl::CreateSwTabDialog( int nResI return 0; } -AbstractMultiTOXTabDialog * SwAbstractDialogFactory_Impl::CreateMultiTOXTabDialog( int nResId, +AbstractMultiTOXTabDialog * SwAbstractDialogFactory_Impl::CreateMultiTOXTabDialog( Window* pParent, const SfxItemSet& rSet, SwWrtShell &rShell, SwTOXBase* pCurTOX, sal_uInt16 nToxType, - sal_Bool bGlobal ) //add for SwMultiTOXTabDialog + sal_Bool bGlobal) //add for SwMultiTOXTabDialog { - SwMultiTOXTabDialog* pDlg=NULL; - switch ( nResId ) - { - case DLG_MULTI_TOX : - pDlg = new SwMultiTOXTabDialog( pParent, rSet, rShell, pCurTOX, nToxType, bGlobal ); - break; - default: - break; - } - if ( pDlg ) - return new AbstractMultiTOXTabDialog_Impl( pDlg ); - return 0; + SwMultiTOXTabDialog* pDlg = new SwMultiTOXTabDialog( pParent, rSet, rShell, pCurTOX, nToxType, bGlobal ); + return new AbstractMultiTOXTabDialog_Impl( pDlg ); } AbstractEditRegionDlg * SwAbstractDialogFactory_Impl::CreateEditRegionDlg(Window* pParent, SwWrtShell& rWrtSh) //add for SwEditRegionDlg @@ -1164,7 +1154,6 @@ CreateTabPage SwAbstractDialogFactory_Impl::GetTabPageCreatorFunc( sal_uInt16 nI CreateTabPage pRet = 0; switch ( nId ) { - case TP_OPTCOMPATIBILITY_PAGE : case RID_SW_TP_OPTCOMPATIBILITY_PAGE : pRet = SwCompatibilityOptPage::Create; break; @@ -1174,12 +1163,10 @@ CreateTabPage SwAbstractDialogFactory_Impl::GetTabPageCreatorFunc( sal_uInt16 nI case TP_OPTCAPTION_PAGE: case RID_SW_TP_OPTCAPTION_PAGE: return SwCaptionOptPage::Create; - case TP_CONTENT_OPT : case RID_SW_TP_CONTENT_OPT: case RID_SW_TP_HTML_CONTENT_OPT: pRet = SwContentOptPage::Create; break; - case TP_OPTSHDWCRSR : case RID_SW_TP_OPTSHDWCRSR: case RID_SW_TP_HTML_OPTSHDWCRSR: pRet = SwShdwCrsrOptionsTabPage::Create; @@ -1188,7 +1175,6 @@ CreateTabPage SwAbstractDialogFactory_Impl::GetTabPageCreatorFunc( sal_uInt16 nI pRet = SwRedlineOptionsTabPage::Create; break; case RID_SW_TP_OPTTEST_PAGE : - case TP_OPTTEST_PAGE : #ifdef DBG_UTIL pRet = SwTestTabPage::Create; #endif @@ -1198,7 +1184,6 @@ CreateTabPage SwAbstractDialogFactory_Impl::GetTabPageCreatorFunc( sal_uInt16 nI case RID_SW_TP_OPTPRINT_PAGE: pRet = SwAddPrinterTabPage::Create; break; - case TP_STD_FONT : case RID_SW_TP_STD_FONT: case RID_SW_TP_STD_FONT_CJK: case RID_SW_TP_STD_FONT_CTL: diff --git a/sw/source/ui/dialog/swdlgfact.hxx b/sw/source/ui/dialog/swdlgfact.hxx index 409a8e23196c..5a561aa6dc56 100644 --- a/sw/source/ui/dialog/swdlgfact.hxx +++ b/sw/source/ui/dialog/swdlgfact.hxx @@ -531,7 +531,7 @@ public: Window* pParent, const SfxItemSet* pSwItemSet, SwWrtShell &); //add for SwSvxNumBulletTabDialog, SwOutlineTabDialog - virtual AbstractMultiTOXTabDialog* CreateMultiTOXTabDialog( int nResId, + virtual AbstractMultiTOXTabDialog* CreateMultiTOXTabDialog( Window* pParent, const SfxItemSet& rSet, SwWrtShell &rShell, SwTOXBase* pCurTOX, sal_uInt16 nToxType = USHRT_MAX, diff --git a/sw/source/ui/inc/swuicnttab.hxx b/sw/source/ui/inc/swuicnttab.hxx index 73d04b18dd49..55ccc26ab2b8 100644 --- a/sw/source/ui/inc/swuicnttab.hxx +++ b/sw/source/ui/inc/swuicnttab.hxx @@ -61,11 +61,17 @@ struct SwIndexSections_Impl; class SwMultiTOXTabDialog : public SfxTabDialog { - Window aExampleContainerWIN; - CheckBox aShowExampleCB; + Window* m_pExampleContainerWIN; + CheckBox* m_pShowExampleCB; SwTOXMgr* pMgr; SwWrtShell& rSh; + sal_uInt16 m_nSelectId; + sal_uInt16 m_nStylesId; + sal_uInt16 m_nColumnId; + sal_uInt16 m_nBackGroundId; + sal_uInt16 m_nEntriesId; + SwOneExampleFrame* pExampleFrame; SwTOXDescription** pDescArr; // @@ -76,19 +82,19 @@ class SwMultiTOXTabDialog : public SfxTabDialog CurTOXType eCurrentTOXType; - String sUserDefinedIndex; - sal_uInt16 nTypeCount; - sal_uInt16 nInitialTOXType; + OUString sUserDefinedIndex; + sal_uInt16 nTypeCount; + sal_uInt16 nInitialTOXType; - sal_Bool bEditTOX; - sal_Bool bExampleCreated; - sal_Bool bGlobalFlag; + sal_Bool bEditTOX; + sal_Bool bExampleCreated; + sal_Bool bGlobalFlag; virtual short Ok(); SwTOXDescription* CreateTOXDescFromTOXBase(const SwTOXBase*pCurTOX); - DECL_LINK(CreateExample_Hdl, void* ); - DECL_LINK(ShowPreviewHdl, CheckBox*); + DECL_LINK(CreateExample_Hdl, void*); + DECL_LINK(ShowPreviewHdl, void*); public: SwMultiTOXTabDialog(Window* pParent, const SfxItemSet& rSet, diff --git a/sw/source/ui/index/cnttab.cxx b/sw/source/ui/index/cnttab.cxx index 729002d1fd95..cfae2912dcf7 100644 --- a/sw/source/ui/index/cnttab.cxx +++ b/sw/source/ui/index/cnttab.cxx @@ -224,22 +224,25 @@ sal_uInt16 CurTOXType::GetFlatIndex() const SwMultiTOXTabDialog::SwMultiTOXTabDialog(Window* pParent, const SfxItemSet& rSet, SwWrtShell &rShell, SwTOXBase* pCurTOX, - sal_uInt16 nToxType, sal_Bool bGlobal) : - SfxTabDialog( pParent, SW_RES(DLG_MULTI_TOX), &rSet), - aExampleContainerWIN(this, SW_RES(WIN_EXAMPLE)), - aShowExampleCB( this, SW_RES(CB_SHOWEXAMPLE)), - pMgr( new SwTOXMgr( &rShell ) ), - rSh(rShell), - pExampleFrame(0), - pParamTOXBase(pCurTOX), - sUserDefinedIndex(SW_RES(ST_USERDEFINEDINDEX)), - nInitialTOXType(nToxType), - - bEditTOX(sal_False), - bExampleCreated(sal_False), - bGlobalFlag(bGlobal) -{ - FreeResource(); + sal_uInt16 nToxType, sal_Bool bGlobal) + : SfxTabDialog(pParent, "TocDialog", + "modules/swriter/ui/tocdialog.ui", &rSet) + , pMgr( new SwTOXMgr( &rShell ) ) + , rSh(rShell) + , pExampleFrame(0) + , pParamTOXBase(pCurTOX) + , sUserDefinedIndex(SW_RESSTR(STR_USER_DEFINED_INDEX)) + , nInitialTOXType(nToxType) + , bEditTOX(false) + , bExampleCreated(false) + , bGlobalFlag(bGlobal) +{ + get(m_pShowExampleCB, "showexample"); + get(m_pExampleContainerWIN, "example"); + Size aWinSize(LogicToPixel(Size(150, 188), MapMode(MAP_APPFONT))); + m_pExampleContainerWIN->set_width_request(aWinSize.Width()); + m_pExampleContainerWIN->set_height_request(aWinSize.Height()); + m_pExampleContainerWIN->SetSizePixel(aWinSize); eCurrentTOXType.eType = TOX_CONTENT; eCurrentTOXType.nIndex = 0; @@ -303,36 +306,31 @@ SwMultiTOXTabDialog::SwMultiTOXTabDialog(Window* pParent, const SfxItemSet& rSet } SfxAbstractDialogFactory* pFact = SfxAbstractDialogFactory::Create(); OSL_ENSURE(pFact, "Dialogdiet fail!"); - AddTabPage(TP_TOX_SELECT, SwTOXSelectTabPage::Create, 0); - AddTabPage(TP_TOX_STYLES, SwTOXStylesTabPage::Create, 0); - AddTabPage(TP_COLUMN, SwColumnPage::Create, 0); - AddTabPage(TP_BACKGROUND, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BACKGROUND ), 0 ); - AddTabPage(TP_TOX_ENTRY, SwTOXEntryTabPage::Create, 0); + m_nSelectId = AddTabPage("index", SwTOXSelectTabPage::Create, 0); + m_nStylesId = AddTabPage("styles", SwTOXStylesTabPage::Create, 0); + m_nColumnId = AddTabPage("columns", SwColumnPage::Create, 0); + m_nBackGroundId = AddTabPage("background", pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BACKGROUND ), 0); + m_nEntriesId = AddTabPage("entries", SwTOXEntryTabPage::Create, 0); if(!pCurTOX) - SetCurPageId(TP_TOX_SELECT); + SetCurPageId(m_nSelectId); - aShowExampleCB.SetClickHdl(LINK(this, SwMultiTOXTabDialog, ShowPreviewHdl)); + m_pShowExampleCB->SetClickHdl(LINK(this, SwMultiTOXTabDialog, ShowPreviewHdl)); - aShowExampleCB.Check( SW_MOD()->GetModuleConfig()->IsShowIndexPreview()); + m_pShowExampleCB->Check( SW_MOD()->GetModuleConfig()->IsShowIndexPreview()); - aExampleContainerWIN.SetAccessibleName(aShowExampleCB.GetText()); + m_pExampleContainerWIN->SetAccessibleName(m_pShowExampleCB->GetText()); SetViewAlign( WINDOWALIGN_LEFT ); // SetViewWindow does not work if the dialog is visible! - if(!aShowExampleCB.IsChecked()) - SetViewWindow( &aExampleContainerWIN ); + if(!m_pShowExampleCB->IsChecked()) + SetViewWindow(m_pExampleContainerWIN); - Point aOldPos = GetPosPixel(); ShowPreviewHdl(0); - Point aNewPos = GetPosPixel(); - //72040: initial position may be left of the view - that has to be corrected - if(aNewPos.X() < 0) - SetPosPixel(aOldPos); } SwMultiTOXTabDialog::~SwMultiTOXTabDialog() { - SW_MOD()->GetModuleConfig()->SetShowIndexPreview(aShowExampleCB.IsChecked()); + SW_MOD()->GetModuleConfig()->SetShowIndexPreview(m_pShowExampleCB->IsChecked()); // fdo#38515 Avoid setting focus on deleted controls in the destructors EnableInput( sal_False ); @@ -353,21 +351,21 @@ SwMultiTOXTabDialog::~SwMultiTOXTabDialog() void SwMultiTOXTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) { - if( TP_BACKGROUND == nId ) + if (nId == m_nBackGroundId) { SfxAllItemSet aSet(*(GetInputSetImpl()->GetPool())); aSet.Put (SfxUInt32Item(SID_FLAG_TYPE, SVX_SHOW_SELECTOR)); rPage.PageCreated(aSet); } - else if(TP_COLUMN == nId ) + else if(nId == m_nColumnId) { const SwFmtFrmSize& rSize = (const SwFmtFrmSize&)GetInputSetImpl()->Get(RES_FRM_SIZE); ((SwColumnPage&)rPage).SetPageWidth(rSize.GetWidth()); } - else if(TP_TOX_ENTRY == nId) + else if (nId == m_nEntriesId) ((SwTOXEntryTabPage&)rPage).SetWrtShell(rSh); - if(TP_TOX_SELECT == nId) + else if (nId == m_nSelectId) { ((SwTOXSelectTabPage&)rPage).SetWrtShell(rSh); if(USHRT_MAX != nInitialTOXType) @@ -482,9 +480,9 @@ SwTOXDescription* SwMultiTOXTabDialog::CreateTOXDescFromTOXBase( return pDesc; } -IMPL_LINK( SwMultiTOXTabDialog, ShowPreviewHdl, CheckBox *, pBox ) +IMPL_LINK_NOARG( SwMultiTOXTabDialog, ShowPreviewHdl ) { - if(aShowExampleCB.IsChecked()) + if(m_pShowExampleCB->IsChecked()) { if(!pExampleFrame && !bExampleCreated) { @@ -527,33 +525,23 @@ IMPL_LINK( SwMultiTOXTabDialog, ShowPreviewHdl, CheckBox *, pBox ) Link aLink(LINK(this, SwMultiTOXTabDialog, CreateExample_Hdl)); String sTemp(sTemplate); pExampleFrame = new SwOneExampleFrame( - aExampleContainerWIN, EX_SHOW_ONLINE_LAYOUT, &aLink, &sTemp); + *m_pExampleContainerWIN, EX_SHOW_ONLINE_LAYOUT, &aLink, &sTemp); if(!pExampleFrame->IsServiceAvailable()) { pExampleFrame->CreateErrorMessage(0); } } - aShowExampleCB.Show(pExampleFrame && pExampleFrame->IsServiceAvailable()); + m_pShowExampleCB->Show(pExampleFrame && pExampleFrame->IsServiceAvailable()); } } - sal_Bool bSetViewWindow = aShowExampleCB.IsChecked() + sal_Bool bSetViewWindow = m_pShowExampleCB->IsChecked() && pExampleFrame && pExampleFrame->IsServiceAvailable(); - aExampleContainerWIN.Show( bSetViewWindow ); - SetViewWindow( bSetViewWindow ? &aExampleContainerWIN : 0 ); + m_pExampleContainerWIN->Show( bSetViewWindow ); + SetViewWindow( bSetViewWindow ? m_pExampleContainerWIN : 0 ); - Window *pTopmostParent = this; - while(pTopmostParent->GetParent()) - pTopmostParent = pTopmostParent->GetParent(); - ::Rectangle aRect(GetClientWindowExtentsRelative(pTopmostParent)); - ::Point aPos = aRect.TopLeft(); - Size aSize = GetSizePixel(); - if(pBox) - AdjustLayout(); - long nDiffWidth = GetSizePixel().Width() - aSize.Width(); - aPos.X() -= nDiffWidth; - SetPosPixel(aPos); + setOptimalLayoutSize(); return 0; } diff --git a/sw/source/ui/index/cnttab.hrc b/sw/source/ui/index/cnttab.hrc index 2108c6a57fc7..8ca4d610ae8b 100644 --- a/sw/source/ui/index/cnttab.hrc +++ b/sw/source/ui/index/cnttab.hrc @@ -195,10 +195,8 @@ //TabDialog #define WIN_EXAMPLE 1 -#define ST_USERDEFINEDINDEX 13 #define CB_SHOWEXAMPLE 14 - //ButtonMenu #define MN_AUTOMARK_OPEN 1 #define MN_AUTOMARK_NEW 2 diff --git a/sw/source/ui/index/cnttab.src b/sw/source/ui/index/cnttab.src index c2d356c4da60..7e8b1e678389 100644 --- a/sw/source/ui/index/cnttab.src +++ b/sw/source/ui/index/cnttab.src @@ -40,67 +40,11 @@ String STR_FILE_NOT_FOUND Text [ en-US ] = "The file, \"%1\" in the \"%2\" path could not be found."; }; -TabDialog DLG_MULTI_TOX +String STR_USER_DEFINED_INDEX { - HelpID = HID_MULTI_TOX_DLG; - OutputSize = TRUE ; - SVLook = TRUE ; - - Moveable = TRUE ; - - TabControl 1 - { - OutputSize = TRUE ; - PageList = - { - PageItem - { - Identifier = TP_TOX_SELECT; - PageResID = TP_TOX_SELECT; - Text [ en-US ] = "Index/Table"; - }; - PageItem - { - Identifier = TP_TOX_ENTRY; - PageResID = TP_TOX_ENTRY; - Text [ en-US ] = "Entries"; - }; - PageItem - { - Identifier = TP_TOX_STYLES; - PageResID = TP_TOX_STYLES; - Text [ en-US ] = "Styles"; - }; - PageItem - { - Identifier = TP_COLUMN ; - PageResID = TP_COLUMN ; - Text [ en-US ] = "Columns" ; - }; - PageItem - { - Identifier = TP_BACKGROUND ; - PageResID = TP_BACKGROUND ; - Text [ en-US ] = "Background" ; - }; - }; - }; - Window WIN_EXAMPLE - { - Pos = MAP_APPFONT ( 0 , 12 ) ; - Size = MAP_APPFONT ( 150, 188 ) ; - }; - String ST_USERDEFINEDINDEX - { - Text [ en-US ] = "User-Defined Index"; - }; - CheckBox CB_SHOWEXAMPLE - { - Size = MAP_APPFONT ( 45, 10 ) ; - Text [ en-US ] = "Preview"; - }; - Text [ en-US ] = "Insert Index/Table"; + Text [ en-US ] = "User-Defined Index"; }; + //------------------------------------------------------------------ TabPage TP_TOX_SELECT { diff --git a/sw/source/ui/shells/textidx.cxx b/sw/source/ui/shells/textidx.cxx index fecfcb9edf60..8c7af10769ee 100644 --- a/sw/source/ui/shells/textidx.cxx +++ b/sw/source/ui/shells/textidx.cxx @@ -142,7 +142,7 @@ void SwTextShell::ExecIdx(SfxRequest &rReq) } SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create(); OSL_ENSURE(pFact, "Dialogdiet fail!"); - AbstractMultiTOXTabDialog* pDlg = pFact->CreateMultiTOXTabDialog( DLG_MULTI_TOX, + AbstractMultiTOXTabDialog* pDlg = pFact->CreateMultiTOXTabDialog( pMDI, aSet, rSh, (SwTOXBase* )pCurTOX, USHRT_MAX, bGlobal); OSL_ENSURE(pDlg, "Dialogdiet fail!"); diff --git a/sw/source/ui/utlui/glbltree.cxx b/sw/source/ui/utlui/glbltree.cxx index a0a0d20d1eb0..31b7f74bc1ab 100644 --- a/sw/source/ui/utlui/glbltree.cxx +++ b/sw/source/ui/utlui/glbltree.cxx @@ -875,7 +875,7 @@ void SwGlobalTree::ExcecuteContextMenuAction( sal_uInt16 nSelectedPopupEntry SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create(); OSL_ENSURE(pFact, "Dialogdiet fail!"); - AbstractMultiTOXTabDialog* pDlg = pFact->CreateMultiTOXTabDialog( DLG_MULTI_TOX, + AbstractMultiTOXTabDialog* pDlg = pFact->CreateMultiTOXTabDialog( this, aSet, *pActiveShell, 0, |