diff options
author | Caolán McNamara <caolanm@redhat.com> | 2013-05-14 11:48:17 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-05-14 13:51:44 +0100 |
commit | 3fb33e3e04c7f339e1e15d24529e8ea1d4dbe321 (patch) | |
tree | 8a77f5f2ec7897431ea1e02ae9f9342287c4b617 /sc/source | |
parent | a322988084878e428f013438720841771650a68e (diff) |
split ScHFEditDlg into multiple classes
Change-Id: I4b2216fac0ef33cb9f906b9a01aff05759d39e47
Diffstat (limited to 'sc/source')
-rw-r--r-- | sc/source/ui/attrdlg/scdlgfact.cxx | 44 | ||||
-rw-r--r-- | sc/source/ui/inc/hfedtdlg.hxx | 89 | ||||
-rw-r--r-- | sc/source/ui/pagedlg/hfedtdlg.cxx | 220 |
3 files changed, 265 insertions, 88 deletions
diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx b/sc/source/ui/attrdlg/scdlgfact.cxx index 37a8a4cb1250..1474953222de 100644 --- a/sc/source/ui/attrdlg/scdlgfact.cxx +++ b/sc/source/ui/attrdlg/scdlgfact.cxx @@ -1238,10 +1238,48 @@ SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScHFEditDlg( SfxViewF Window* pParent, const SfxItemSet& rCoreSet, const String& rPageStyle, - sal_uInt16 nResId ) + sal_uInt16 nResId ) { - SfxTabDialog* pDlg = new ScHFEditDlg( pFrame, pParent, rCoreSet, rPageStyle, nResId ); - return new ScAbstractTabDialog_Impl( pDlg ); + SfxTabDialog* pDlg = NULL; + + switch (nResId) + { + case RID_SCDLG_HFED_HEADER: + case RID_SCDLG_HFEDIT_HEADER: + pDlg = new ScHFEditHeaderDlg( pFrame, pParent, rCoreSet, rPageStyle, nResId ); + break; + case RID_SCDLG_HFED_FOOTER: + case RID_SCDLG_HFEDIT_FOOTER: + pDlg = new ScHFEditFooterDlg( pFrame, pParent, rCoreSet, rPageStyle, nResId ); + break; + case RID_SCDLG_HFEDIT_LEFTHEADER: + pDlg = new ScHFEditLeftHeaderDlg( pFrame, pParent, rCoreSet, rPageStyle, nResId ); + break; + case RID_SCDLG_HFEDIT_RIGHTHEADER: + pDlg = new ScHFEditRightHeaderDlg( pFrame, pParent, rCoreSet, rPageStyle, nResId ); + break; + case RID_SCDLG_HFEDIT_LEFTFOOTER: + pDlg = new ScHFEditLeftFooterDlg( pFrame, pParent, rCoreSet, rPageStyle, nResId ); + break; + case RID_SCDLG_HFEDIT_RIGHTFOOTER: + pDlg = new ScHFEditRightFooterDlg( pFrame, pParent, rCoreSet, rPageStyle, nResId ); + break; + case RID_SCDLG_HFEDIT_SHDR: + pDlg = new ScHFEditSharedHeaderDlg( pFrame, pParent, rCoreSet, rPageStyle, nResId ); + break; + case RID_SCDLG_HFEDIT_SFTR: + pDlg = new ScHFEditSharedFooterDlg( pFrame, pParent, rCoreSet, rPageStyle, nResId ); + break; + case RID_SCDLG_HFEDIT_ALL: + pDlg = new ScHFEditAllDlg( pFrame, pParent, rCoreSet, rPageStyle, nResId ); + break; + default: + case RID_SCDLG_HFEDIT: + pDlg = new ScHFEditActiveDlg( pFrame, pParent, rCoreSet, rPageStyle, nResId ); + break; + } + + return pDlg ? new ScAbstractTabDialog_Impl( pDlg ) : NULL; } diff --git a/sc/source/ui/inc/hfedtdlg.hxx b/sc/source/ui/inc/hfedtdlg.hxx index 56a50a9e3602..8159243e7bfc 100644 --- a/sc/source/ui/inc/hfedtdlg.hxx +++ b/sc/source/ui/inc/hfedtdlg.hxx @@ -32,18 +32,93 @@ class ScHFEditDlg : public SfxTabDialog { SvxNumType eNumType; +protected: + ScHFEditDlg(SfxViewFrame* pFrame, Window* pParent, + const SfxItemSet& rCoreSet, const OUString& rPageStyle, + sal_uInt16 nResId = RID_SCDLG_HFEDIT ); public: - ScHFEditDlg( SfxViewFrame* pFrame, - Window* pParent, - const SfxItemSet& rCoreSet, - const String& rPageStyle, - sal_uInt16 nResId = RID_SCDLG_HFEDIT ); + virtual void PageCreated( sal_uInt16 nId, SfxTabPage& rPage ); +}; + +class ScHFEditHeaderDlg : public ScHFEditDlg +{ +public: + ScHFEditHeaderDlg(SfxViewFrame* pFrame, Window* pParent, + const SfxItemSet& rCoreSet, const OUString& rPageStyle, + sal_uInt16 nResId); +}; - ~ScHFEditDlg(); +class ScHFEditFooterDlg : public ScHFEditDlg +{ +public: + ScHFEditFooterDlg(SfxViewFrame* pFrame, Window* pParent, + const SfxItemSet& rCoreSet, const OUString& rPageStyle, + sal_uInt16 nResId); +}; - virtual void PageCreated( sal_uInt16 nId, SfxTabPage& rPage ); +class ScHFEditLeftHeaderDlg : public ScHFEditDlg +{ +public: + ScHFEditLeftHeaderDlg(SfxViewFrame* pFrame, Window* pParent, + const SfxItemSet& rCoreSet, const OUString& rPageStyle, + sal_uInt16 nResId); +}; + +class ScHFEditRightHeaderDlg : public ScHFEditDlg +{ +public: + ScHFEditRightHeaderDlg(SfxViewFrame* pFrame, Window* pParent, + const SfxItemSet& rCoreSet, const OUString& rPageStyle, + sal_uInt16 nResId); +}; + +class ScHFEditLeftFooterDlg : public ScHFEditDlg +{ +public: + ScHFEditLeftFooterDlg(SfxViewFrame* pFrame, Window* pParent, + const SfxItemSet& rCoreSet, const OUString& rPageStyle, + sal_uInt16 nResId); }; +class ScHFEditRightFooterDlg : public ScHFEditDlg +{ +public: + ScHFEditRightFooterDlg(SfxViewFrame* pFrame, Window* pParent, + const SfxItemSet& rCoreSet, const OUString& rPageStyle, + sal_uInt16 nResId); +}; + +class ScHFEditSharedHeaderDlg : public ScHFEditDlg +{ +public: + ScHFEditSharedHeaderDlg(SfxViewFrame* pFrame, Window* pParent, + const SfxItemSet& rCoreSet, const OUString& rPageStyle, + sal_uInt16 nResId); +}; + +class ScHFEditSharedFooterDlg : public ScHFEditDlg +{ +public: + ScHFEditSharedFooterDlg(SfxViewFrame* pFrame, Window* pParent, + const SfxItemSet& rCoreSet, const OUString& rPageStyle, + sal_uInt16 nResId); +}; + +class ScHFEditAllDlg : public ScHFEditDlg +{ +public: + ScHFEditAllDlg(SfxViewFrame* pFrame, Window* pParent, + const SfxItemSet& rCoreSet, const OUString& rPageStyle, + sal_uInt16 nResId); +}; + +class ScHFEditActiveDlg : public ScHFEditDlg +{ +public: + ScHFEditActiveDlg(SfxViewFrame* pFrame, Window* pParent, + const SfxItemSet& rCoreSet, const OUString& rPageStyle, + sal_uInt16 nResId); +}; #endif // SC_HFEDTDLG_HXX diff --git a/sc/source/ui/pagedlg/hfedtdlg.cxx b/sc/source/ui/pagedlg/hfedtdlg.cxx index a74e267f5239..817ee4f8fbdb 100644 --- a/sc/source/ui/pagedlg/hfedtdlg.cxx +++ b/sc/source/ui/pagedlg/hfedtdlg.cxx @@ -53,7 +53,7 @@ ScHFEditDlg::ScHFEditDlg( SfxViewFrame* pFrameP, Window* pParent, const SfxItemSet& rCoreSet, - const String& rPageStyle, + const OUString& rPageStyle, sal_uInt16 nResIdP ) : SfxTabDialog( pFrameP, pParent, ScResId( nResIdP ), &rCoreSet ) { @@ -67,100 +67,164 @@ ScHFEditDlg::ScHFEditDlg( SfxViewFrame* pFrameP, aTmp += rPageStyle; aTmp += ')'; SetText( aTmp ); +} - switch ( nResIdP ) - { - case RID_SCDLG_HFED_HEADER: - case RID_SCDLG_HFEDIT_HEADER: - AddTabPage( 1, ScRightHeaderEditPage::Create, NULL ); - AddTabPage( 2, ScLeftHeaderEditPage::Create, NULL ); - break; +ScHFEditHeaderDlg::ScHFEditHeaderDlg( SfxViewFrame* pFrameP, + Window* pParent, + const SfxItemSet& rCoreSet, + const OUString& rPageStyle, + sal_uInt16 nResIdP ) + : ScHFEditDlg( pFrameP, pParent, rCoreSet, rPageStyle, nResIdP ) +{ + AddTabPage( 1, ScRightHeaderEditPage::Create, NULL ); + AddTabPage( 2, ScLeftHeaderEditPage::Create, NULL ); - case RID_SCDLG_HFED_FOOTER: - case RID_SCDLG_HFEDIT_FOOTER: - AddTabPage( 1, ScRightFooterEditPage::Create, NULL ); - AddTabPage( 2, ScLeftFooterEditPage::Create, NULL ); - break; + FreeResource(); +} - case RID_SCDLG_HFEDIT_LEFTHEADER: - AddTabPage( 1, ScLeftHeaderEditPage::Create, NULL ); - break; +ScHFEditFooterDlg::ScHFEditFooterDlg( SfxViewFrame* pFrameP, + Window* pParent, + const SfxItemSet& rCoreSet, + const OUString& rPageStyle, + sal_uInt16 nResIdP ) + : ScHFEditDlg( pFrameP, pParent, rCoreSet, rPageStyle, nResIdP ) +{ + AddTabPage( 1, ScRightFooterEditPage::Create, NULL ); + AddTabPage( 2, ScLeftFooterEditPage::Create, NULL ); - case RID_SCDLG_HFEDIT_RIGHTHEADER: - AddTabPage( 1, ScRightHeaderEditPage::Create, NULL ); - break; + FreeResource(); +} + +ScHFEditLeftHeaderDlg::ScHFEditLeftHeaderDlg( SfxViewFrame* pFrameP, + Window* pParent, + const SfxItemSet& rCoreSet, + const OUString& rPageStyle, + sal_uInt16 nResIdP ) + : ScHFEditDlg( pFrameP, pParent, rCoreSet, rPageStyle, nResIdP ) +{ + AddTabPage( 1, ScLeftHeaderEditPage::Create, NULL ); - case RID_SCDLG_HFEDIT_LEFTFOOTER: - AddTabPage( 1, ScLeftFooterEditPage::Create, NULL ); - break; + FreeResource(); +} - case RID_SCDLG_HFEDIT_RIGHTFOOTER: - AddTabPage( 1, ScRightFooterEditPage::Create, NULL ); - break; +ScHFEditRightHeaderDlg::ScHFEditRightHeaderDlg( SfxViewFrame* pFrameP, + Window* pParent, + const SfxItemSet& rCoreSet, + const OUString& rPageStyle, + sal_uInt16 nResIdP ) + : ScHFEditDlg( pFrameP, pParent, rCoreSet, rPageStyle, nResIdP ) +{ + AddTabPage( 1, ScRightHeaderEditPage::Create, NULL ); - case RID_SCDLG_HFEDIT_SHDR: - AddTabPage( 1, ScRightHeaderEditPage::Create, NULL ); - AddTabPage( 2, ScRightFooterEditPage::Create, NULL ); - AddTabPage( 3, ScLeftFooterEditPage::Create, NULL ); - break; + FreeResource(); +} - case RID_SCDLG_HFEDIT_SFTR: - AddTabPage( 1, ScRightHeaderEditPage::Create, NULL ); - AddTabPage( 2, ScLeftHeaderEditPage::Create, NULL ); - AddTabPage( 3, ScRightFooterEditPage::Create, NULL ); - break; +ScHFEditLeftFooterDlg::ScHFEditLeftFooterDlg( SfxViewFrame* pFrameP, + Window* pParent, + const SfxItemSet& rCoreSet, + const OUString& rPageStyle, + sal_uInt16 nResIdP ) + : ScHFEditDlg( pFrameP, pParent, rCoreSet, rPageStyle, nResIdP ) +{ + AddTabPage( 1, ScLeftFooterEditPage::Create, NULL ); +} - case RID_SCDLG_HFEDIT_ALL: - AddTabPage( 1, ScRightHeaderEditPage::Create, NULL ); - AddTabPage( 2, ScLeftHeaderEditPage::Create, NULL ); - AddTabPage( 3, ScRightFooterEditPage::Create, NULL ); - AddTabPage( 4, ScLeftFooterEditPage::Create, NULL ); - break; - - default: - case RID_SCDLG_HFEDIT: - { - const SvxPageItem& rPageItem = (const SvxPageItem&) - rCoreSet.Get( - rCoreSet.GetPool()->GetWhich(SID_ATTR_PAGE) ); - - sal_Bool bRightPage = ( SVX_PAGE_LEFT != - SvxPageUsage(rPageItem.GetPageUsage()) ); - - if ( bRightPage ) - { - AddTabPage( 1, ScRightHeaderEditPage::Create, NULL ); - AddTabPage( 2, ScRightFooterEditPage::Create, NULL ); - } - else - { - // #69193a# respect "shared" setting - - sal_Bool bShareHeader = IS_SHARE_HEADER(rCoreSet); - if ( bShareHeader ) - AddTabPage( 1, ScRightHeaderEditPage::Create, NULL ); - else - AddTabPage( 1, ScLeftHeaderEditPage::Create, NULL ); - - sal_Bool bShareFooter = IS_SHARE_FOOTER(rCoreSet); - if ( bShareFooter ) - AddTabPage( 2, ScRightFooterEditPage::Create, NULL ); - else - AddTabPage( 2, ScLeftFooterEditPage::Create, NULL ); - } - } - break; - } +ScHFEditRightFooterDlg::ScHFEditRightFooterDlg( SfxViewFrame* pFrameP, + Window* pParent, + const SfxItemSet& rCoreSet, + const OUString& rPageStyle, + sal_uInt16 nResIdP ) + : ScHFEditDlg( pFrameP, pParent, rCoreSet, rPageStyle, nResIdP ) +{ + AddTabPage( 1, ScRightFooterEditPage::Create, NULL ); FreeResource(); } -// ----------------------------------------------------------------------- +ScHFEditSharedHeaderDlg::ScHFEditSharedHeaderDlg( SfxViewFrame* pFrameP, + Window* pParent, + const SfxItemSet& rCoreSet, + const OUString& rPageStyle, + sal_uInt16 nResIdP ) + : ScHFEditDlg( pFrameP, pParent, rCoreSet, rPageStyle, nResIdP ) +{ + AddTabPage( 1, ScRightHeaderEditPage::Create, NULL ); + AddTabPage( 2, ScRightFooterEditPage::Create, NULL ); + AddTabPage( 3, ScLeftFooterEditPage::Create, NULL ); + + FreeResource(); +} + +ScHFEditSharedFooterDlg::ScHFEditSharedFooterDlg( SfxViewFrame* pFrameP, + Window* pParent, + const SfxItemSet& rCoreSet, + const OUString& rPageStyle, + sal_uInt16 nResIdP ) + : ScHFEditDlg( pFrameP, pParent, rCoreSet, rPageStyle, nResIdP ) +{ + AddTabPage( 1, ScRightHeaderEditPage::Create, NULL ); + AddTabPage( 2, ScLeftHeaderEditPage::Create, NULL ); + AddTabPage( 3, ScRightFooterEditPage::Create, NULL ); + + FreeResource(); +} + +ScHFEditAllDlg::ScHFEditAllDlg( SfxViewFrame* pFrameP, + Window* pParent, + const SfxItemSet& rCoreSet, + const OUString& rPageStyle, + sal_uInt16 nResIdP ) + : ScHFEditDlg( pFrameP, pParent, rCoreSet, rPageStyle, nResIdP ) +{ + AddTabPage( 1, ScRightHeaderEditPage::Create, NULL ); + AddTabPage( 2, ScLeftHeaderEditPage::Create, NULL ); + AddTabPage( 3, ScRightFooterEditPage::Create, NULL ); + AddTabPage( 4, ScLeftFooterEditPage::Create, NULL ); -ScHFEditDlg::~ScHFEditDlg() + FreeResource(); +} + +ScHFEditActiveDlg::ScHFEditActiveDlg( SfxViewFrame* pFrameP, + Window* pParent, + const SfxItemSet& rCoreSet, + const OUString& rPageStyle, + sal_uInt16 nResIdP ) + : ScHFEditDlg( pFrameP, pParent, rCoreSet, rPageStyle, nResIdP ) { + const SvxPageItem& rPageItem = (const SvxPageItem&) + rCoreSet.Get( + rCoreSet.GetPool()->GetWhich(SID_ATTR_PAGE) ); + + sal_Bool bRightPage = ( SVX_PAGE_LEFT != + SvxPageUsage(rPageItem.GetPageUsage()) ); + + if ( bRightPage ) + { + AddTabPage( 1, ScRightHeaderEditPage::Create, NULL ); + AddTabPage( 2, ScRightFooterEditPage::Create, NULL ); + } + else + { + // #69193a# respect "shared" setting + + sal_Bool bShareHeader = IS_SHARE_HEADER(rCoreSet); + if ( bShareHeader ) + AddTabPage( 1, ScRightHeaderEditPage::Create, NULL ); + else + AddTabPage( 1, ScLeftHeaderEditPage::Create, NULL ); + + sal_Bool bShareFooter = IS_SHARE_FOOTER(rCoreSet); + if ( bShareFooter ) + AddTabPage( 2, ScRightFooterEditPage::Create, NULL ); + else + AddTabPage( 2, ScLeftFooterEditPage::Create, NULL ); + } + + FreeResource(); } + + // ----------------------------------------------------------------------- void ScHFEditDlg::PageCreated( sal_uInt16 /* nId */, SfxTabPage& rPage ) |