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/index | |
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/index')
-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 |
3 files changed, 46 insertions, 116 deletions
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 { |