1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #undef SC_DLLIMPLEMENTATION
22 #include <scitems.hxx>
23 #include <svl/eitem.hxx>
25 #include <hfedtdlg.hxx>
26 #include <globstr.hrc>
27 #include <scresid.hxx>
28 #include <scuitphfedit.hxx>
29 #include <svx/svxids.hrc>
30 #include <svx/pageitem.hxx>
32 ScHFEditDlg::ScHFEditDlg(weld::Window
* pParent
,
33 const SfxItemSet
& rCoreSet
,
34 const OUString
& rPageStyle
,
35 const OUString
& rUIXMLDescription
,
37 : SfxTabDialogController(pParent
, rUIXMLDescription
, rID
, &rCoreSet
)
39 eNumType
= rCoreSet
.Get(ATTR_PAGE
).GetNumType();
41 OUString aTmp
= m_xDialog
->get_title() +
42 " (" + ScResId( STR_PAGESTYLE
) + ": " + rPageStyle
+ ")";
44 m_xDialog
->set_title(aTmp
);
47 ScHFEditHeaderDlg::ScHFEditHeaderDlg(
48 weld::Window
* pParent
,
49 const SfxItemSet
& rCoreSet
,
50 const OUString
& rPageStyle
)
51 : ScHFEditDlg( pParent
, rCoreSet
, rPageStyle
,
52 "modules/scalc/ui/headerdialog.ui", "HeaderDialog")
54 AddTabPage("headerright", ScRightHeaderEditPage::Create
, nullptr);
55 AddTabPage("headerleft", ScLeftHeaderEditPage::Create
, nullptr);
58 ScHFEditFooterDlg::ScHFEditFooterDlg(
59 weld::Window
* pParent
,
60 const SfxItemSet
& rCoreSet
,
61 const OUString
& rPageStyle
)
62 : ScHFEditDlg( pParent
, rCoreSet
, rPageStyle
,
63 "modules/scalc/ui/footerdialog.ui", "FooterDialog" )
65 AddTabPage("footerright", ScRightFooterEditPage::Create
, nullptr);
66 AddTabPage("footerleft", ScLeftFooterEditPage::Create
, nullptr);
69 ScHFEditLeftHeaderDlg::ScHFEditLeftHeaderDlg(
70 weld::Window
* pParent
,
71 const SfxItemSet
& rCoreSet
,
72 const OUString
& rPageStyle
)
73 : ScHFEditDlg( pParent
, rCoreSet
, rPageStyle
,
74 "modules/scalc/ui/leftheaderdialog.ui", "LeftHeaderDialog" )
76 AddTabPage("headerleft", ScLeftHeaderEditPage::Create
, nullptr);
79 ScHFEditRightHeaderDlg::ScHFEditRightHeaderDlg(
80 weld::Window
* pParent
,
81 const SfxItemSet
& rCoreSet
,
82 const OUString
& rPageStyle
)
83 : ScHFEditDlg( pParent
, rCoreSet
, rPageStyle
,
84 "modules/scalc/ui/rightheaderdialog.ui", "RightHeaderDialog" )
86 AddTabPage("headerright", ScRightHeaderEditPage::Create
, nullptr);
89 ScHFEditLeftFooterDlg::ScHFEditLeftFooterDlg(
90 weld::Window
* pParent
,
91 const SfxItemSet
& rCoreSet
,
92 const OUString
& rPageStyle
)
93 : ScHFEditDlg( pParent
, rCoreSet
, rPageStyle
,
94 "modules/scalc/ui/leftfooterdialog.ui", "LeftFooterDialog" )
96 AddTabPage("footerleft", ScLeftFooterEditPage::Create
, nullptr);
99 ScHFEditRightFooterDlg::ScHFEditRightFooterDlg(
100 weld::Window
* pParent
,
101 const SfxItemSet
& rCoreSet
,
102 const OUString
& rPageStyle
)
103 : ScHFEditDlg( pParent
, rCoreSet
, rPageStyle
,
104 "modules/scalc/ui/rightfooterdialog.ui", "RightFooterDialog" )
106 AddTabPage("footerright", ScRightFooterEditPage::Create
, nullptr);
109 ScHFEditSharedHeaderDlg::ScHFEditSharedHeaderDlg(
110 weld::Window
* pParent
,
111 const SfxItemSet
& rCoreSet
,
112 const OUString
& rPageStyle
)
113 : ScHFEditDlg( pParent
, rCoreSet
, rPageStyle
,
114 "modules/scalc/ui/sharedheaderdialog.ui", "SharedHeaderDialog" )
116 AddTabPage("header", ScRightHeaderEditPage::Create
, nullptr);
117 AddTabPage("footerright", ScRightFooterEditPage::Create
, nullptr);
118 AddTabPage("footerleft", ScLeftFooterEditPage::Create
, nullptr);
121 ScHFEditSharedFooterDlg::ScHFEditSharedFooterDlg(
122 weld::Window
* pParent
,
123 const SfxItemSet
& rCoreSet
,
124 const OUString
& rPageStyle
)
125 : ScHFEditDlg( pParent
, rCoreSet
, rPageStyle
,
126 "modules/scalc/ui/sharedfooterdialog.ui", "SharedFooterDialog" )
128 AddTabPage("headerright", ScRightHeaderEditPage::Create
, nullptr);
129 AddTabPage("headerleft", ScLeftHeaderEditPage::Create
, nullptr);
130 AddTabPage("footer", ScRightFooterEditPage::Create
, nullptr);
133 ScHFEditAllDlg::ScHFEditAllDlg(
134 weld::Window
* pParent
,
135 const SfxItemSet
& rCoreSet
,
136 const OUString
& rPageStyle
)
137 : ScHFEditDlg( pParent
, rCoreSet
, rPageStyle
,
138 "modules/scalc/ui/allheaderfooterdialog.ui", "AllHeaderFooterDialog" )
140 AddTabPage("headerright", ScRightHeaderEditPage::Create
, nullptr);
141 AddTabPage("headerleft", ScLeftHeaderEditPage::Create
, nullptr);
142 AddTabPage("footerright", ScRightFooterEditPage::Create
, nullptr);
143 AddTabPage("footerleft", ScLeftFooterEditPage::Create
, nullptr);
146 ScHFEditActiveDlg::ScHFEditActiveDlg(
147 weld::Window
* pParent
,
148 const SfxItemSet
& rCoreSet
,
149 const OUString
& rPageStyle
)
150 : ScHFEditDlg( pParent
, rCoreSet
, rPageStyle
,
151 "modules/scalc/ui/headerfooterdialog.ui", "HeaderFooterDialog" )
153 const SvxPageItem
& rPageItem
= static_cast<const SvxPageItem
&>(
155 rCoreSet
.GetPool()->GetWhich(SID_ATTR_PAGE
) ));
157 bool bRightPage
= SvxPageUsage::Left
!= rPageItem
.GetPageUsage();
161 AddTabPage("header", ScRightHeaderEditPage::Create
, nullptr);
162 AddTabPage("footer", ScRightFooterEditPage::Create
, nullptr);
166 // #69193a# respect "shared" setting
168 bool bShareHeader
= rCoreSet
.Get(ATTR_PAGE_HEADERSET
).GetItemSet().
169 Get(ATTR_PAGE_SHARED
).GetValue();
171 AddTabPage("header", ScRightHeaderEditPage::Create
, nullptr);
173 AddTabPage("header", ScLeftHeaderEditPage::Create
, nullptr);
175 bool bShareFooter
= rCoreSet
.Get(ATTR_PAGE_FOOTERSET
).GetItemSet().
176 Get(ATTR_PAGE_SHARED
).GetValue();
178 AddTabPage("footer", ScRightFooterEditPage::Create
, nullptr);
180 AddTabPage("footer", ScLeftFooterEditPage::Create
, nullptr);
184 void ScHFEditDlg::PageCreated(const OString
& /* rId */, SfxTabPage
& rPage
)
186 // Can only be a ScHFEditPage...
188 static_cast<ScHFEditPage
&>(rPage
).SetNumType(eNumType
);
191 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */