summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2013-05-14 11:48:17 +0100
committerCaolán McNamara <caolanm@redhat.com>2013-05-14 13:51:44 +0100
commit3fb33e3e04c7f339e1e15d24529e8ea1d4dbe321 (patch)
tree8a77f5f2ec7897431ea1e02ae9f9342287c4b617 /sc
parenta322988084878e428f013438720841771650a68e (diff)
split ScHFEditDlg into multiple classes
Change-Id: I4b2216fac0ef33cb9f906b9a01aff05759d39e47
Diffstat (limited to 'sc')
-rw-r--r--sc/source/ui/attrdlg/scdlgfact.cxx44
-rw-r--r--sc/source/ui/inc/hfedtdlg.hxx89
-rw-r--r--sc/source/ui/pagedlg/hfedtdlg.cxx220
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 )