1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski *
3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file
5*b1cdbd2cSJim Jagielski * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file
7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski *
11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the
17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski * under the License.
19*b1cdbd2cSJim Jagielski *
20*b1cdbd2cSJim Jagielski *************************************************************/
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielski // MARKER(update_precomp.py): autogen include statement, do not remove
25*b1cdbd2cSJim Jagielski #include "precompiled_sc.hxx"
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim Jagielski #undef SC_DLLIMPLEMENTATION
28*b1cdbd2cSJim Jagielski
29*b1cdbd2cSJim Jagielski
30*b1cdbd2cSJim Jagielski
31*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
32*b1cdbd2cSJim Jagielski
33*b1cdbd2cSJim Jagielski #define _TPHF_CXX
34*b1cdbd2cSJim Jagielski #include "scitems.hxx"
35*b1cdbd2cSJim Jagielski #include <sfx2/basedlgs.hxx>
36*b1cdbd2cSJim Jagielski #include <svl/style.hxx>
37*b1cdbd2cSJim Jagielski #include <vcl/svapp.hxx>
38*b1cdbd2cSJim Jagielski #include <vcl/msgbox.hxx>
39*b1cdbd2cSJim Jagielski
40*b1cdbd2cSJim Jagielski #include "tphf.hxx"
41*b1cdbd2cSJim Jagielski #include "sc.hrc"
42*b1cdbd2cSJim Jagielski #include "globstr.hrc"
43*b1cdbd2cSJim Jagielski #include "tabvwsh.hxx"
44*b1cdbd2cSJim Jagielski #include "viewdata.hxx"
45*b1cdbd2cSJim Jagielski #include "document.hxx"
46*b1cdbd2cSJim Jagielski //CHINA001 #include "tphfedit.hxx"
47*b1cdbd2cSJim Jagielski #include "hfedtdlg.hxx"
48*b1cdbd2cSJim Jagielski #include "styledlg.hxx"
49*b1cdbd2cSJim Jagielski #include "scresid.hxx"
50*b1cdbd2cSJim Jagielski #include "scuitphfedit.hxx" //CHINA001
51*b1cdbd2cSJim Jagielski #undef _TPHF_CXX
52*b1cdbd2cSJim Jagielski
53*b1cdbd2cSJim Jagielski
54*b1cdbd2cSJim Jagielski
55*b1cdbd2cSJim Jagielski //==================================================================
56*b1cdbd2cSJim Jagielski // class ScHFPage
57*b1cdbd2cSJim Jagielski //==================================================================
58*b1cdbd2cSJim Jagielski
ScHFPage(Window * pParent,sal_uInt16 nResId,const SfxItemSet & rSet,sal_uInt16 nSetId)59*b1cdbd2cSJim Jagielski ScHFPage::ScHFPage( Window* pParent, sal_uInt16 nResId,
60*b1cdbd2cSJim Jagielski const SfxItemSet& rSet, sal_uInt16 nSetId )
61*b1cdbd2cSJim Jagielski
62*b1cdbd2cSJim Jagielski : SvxHFPage ( pParent, nResId, rSet, nSetId ),
63*b1cdbd2cSJim Jagielski aBtnEdit ( this, ScResId( RID_SCBTN_HFEDIT ) ),
64*b1cdbd2cSJim Jagielski aDataSet ( *rSet.GetPool(),
65*b1cdbd2cSJim Jagielski ATTR_PAGE_HEADERLEFT, ATTR_PAGE_FOOTERRIGHT,
66*b1cdbd2cSJim Jagielski ATTR_PAGE, ATTR_PAGE, 0 ),
67*b1cdbd2cSJim Jagielski nPageUsage ( (sal_uInt16)SVX_PAGE_ALL ),
68*b1cdbd2cSJim Jagielski pStyleDlg ( NULL )
69*b1cdbd2cSJim Jagielski {
70*b1cdbd2cSJim Jagielski SetExchangeSupport();
71*b1cdbd2cSJim Jagielski
72*b1cdbd2cSJim Jagielski SfxViewShell* pSh = SfxViewShell::Current();
73*b1cdbd2cSJim Jagielski ScTabViewShell* pViewSh = PTR_CAST(ScTabViewShell,pSh);
74*b1cdbd2cSJim Jagielski Point aPos( aBackgroundBtn.GetPosPixel() );
75*b1cdbd2cSJim Jagielski
76*b1cdbd2cSJim Jagielski // aBackgroundBtn position not changed anymore
77*b1cdbd2cSJim Jagielski
78*b1cdbd2cSJim Jagielski aPos.X() += aBackgroundBtn.GetSizePixel().Width();
79*b1cdbd2cSJim Jagielski aPos.X() += LogicToPixel( Size(3,0), MAP_APPFONT ).Width();
80*b1cdbd2cSJim Jagielski aBtnEdit.SetPosPixel( aPos );
81*b1cdbd2cSJim Jagielski aBtnEdit.Show();
82*b1cdbd2cSJim Jagielski
83*b1cdbd2cSJim Jagielski aDataSet.Put( rSet );
84*b1cdbd2cSJim Jagielski
85*b1cdbd2cSJim Jagielski if ( pViewSh )
86*b1cdbd2cSJim Jagielski {
87*b1cdbd2cSJim Jagielski ScViewData* pViewData = pViewSh->GetViewData();
88*b1cdbd2cSJim Jagielski ScDocument* pDoc = pViewData->GetDocument();
89*b1cdbd2cSJim Jagielski
90*b1cdbd2cSJim Jagielski aStrPageStyle = pDoc->GetPageStyle( pViewData->GetTabNo() );
91*b1cdbd2cSJim Jagielski }
92*b1cdbd2cSJim Jagielski
93*b1cdbd2cSJim Jagielski aBtnEdit.SetClickHdl ( LINK( this, ScHFPage, BtnHdl ) );
94*b1cdbd2cSJim Jagielski aTurnOnBox.SetClickHdl ( LINK( this, ScHFPage, TurnOnHdl ) );
95*b1cdbd2cSJim Jagielski
96*b1cdbd2cSJim Jagielski if ( nId == SID_ATTR_PAGE_HEADERSET )
97*b1cdbd2cSJim Jagielski aBtnEdit.SetHelpId( HID_SC_HEADER_EDIT );
98*b1cdbd2cSJim Jagielski else
99*b1cdbd2cSJim Jagielski aBtnEdit.SetHelpId( HID_SC_FOOTER_EDIT );
100*b1cdbd2cSJim Jagielski
101*b1cdbd2cSJim Jagielski aBtnEdit.SetAccessibleRelationMemberOf(&aFrm);
102*b1cdbd2cSJim Jagielski }
103*b1cdbd2cSJim Jagielski
104*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
105*b1cdbd2cSJim Jagielski
~ScHFPage()106*b1cdbd2cSJim Jagielski __EXPORT ScHFPage::~ScHFPage()
107*b1cdbd2cSJim Jagielski {
108*b1cdbd2cSJim Jagielski }
109*b1cdbd2cSJim Jagielski
110*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
111*b1cdbd2cSJim Jagielski
Reset(const SfxItemSet & rSet)112*b1cdbd2cSJim Jagielski void __EXPORT ScHFPage::Reset( const SfxItemSet& rSet )
113*b1cdbd2cSJim Jagielski {
114*b1cdbd2cSJim Jagielski SvxHFPage::Reset( rSet );
115*b1cdbd2cSJim Jagielski TurnOnHdl( 0 );
116*b1cdbd2cSJim Jagielski }
117*b1cdbd2cSJim Jagielski
118*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
119*b1cdbd2cSJim Jagielski
FillItemSet(SfxItemSet & rOutSet)120*b1cdbd2cSJim Jagielski sal_Bool __EXPORT ScHFPage::FillItemSet( SfxItemSet& rOutSet )
121*b1cdbd2cSJim Jagielski {
122*b1cdbd2cSJim Jagielski sal_Bool bResult = SvxHFPage::FillItemSet( rOutSet );
123*b1cdbd2cSJim Jagielski
124*b1cdbd2cSJim Jagielski if ( nId == SID_ATTR_PAGE_HEADERSET )
125*b1cdbd2cSJim Jagielski {
126*b1cdbd2cSJim Jagielski rOutSet.Put( aDataSet.Get( ATTR_PAGE_HEADERLEFT ) );
127*b1cdbd2cSJim Jagielski rOutSet.Put( aDataSet.Get( ATTR_PAGE_HEADERRIGHT ) );
128*b1cdbd2cSJim Jagielski }
129*b1cdbd2cSJim Jagielski else
130*b1cdbd2cSJim Jagielski {
131*b1cdbd2cSJim Jagielski rOutSet.Put( aDataSet.Get( ATTR_PAGE_FOOTERLEFT ) );
132*b1cdbd2cSJim Jagielski rOutSet.Put( aDataSet.Get( ATTR_PAGE_FOOTERRIGHT ) );
133*b1cdbd2cSJim Jagielski }
134*b1cdbd2cSJim Jagielski
135*b1cdbd2cSJim Jagielski return bResult;
136*b1cdbd2cSJim Jagielski }
137*b1cdbd2cSJim Jagielski
138*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
139*b1cdbd2cSJim Jagielski
ActivatePage(const SfxItemSet & rSet)140*b1cdbd2cSJim Jagielski void __EXPORT ScHFPage::ActivatePage( const SfxItemSet& rSet )
141*b1cdbd2cSJim Jagielski {
142*b1cdbd2cSJim Jagielski sal_uInt16 nPageWhich = GetWhich( SID_ATTR_PAGE );
143*b1cdbd2cSJim Jagielski const SvxPageItem& rPageItem = (const SvxPageItem&)
144*b1cdbd2cSJim Jagielski rSet.Get(nPageWhich);
145*b1cdbd2cSJim Jagielski
146*b1cdbd2cSJim Jagielski nPageUsage = rPageItem.GetPageUsage();
147*b1cdbd2cSJim Jagielski
148*b1cdbd2cSJim Jagielski if ( pStyleDlg )
149*b1cdbd2cSJim Jagielski aStrPageStyle = pStyleDlg->GetStyleSheet().GetName();
150*b1cdbd2cSJim Jagielski
151*b1cdbd2cSJim Jagielski aDataSet.Put( rSet.Get(ATTR_PAGE) );
152*b1cdbd2cSJim Jagielski
153*b1cdbd2cSJim Jagielski SvxHFPage::ActivatePage( rSet );
154*b1cdbd2cSJim Jagielski }
155*b1cdbd2cSJim Jagielski
156*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
157*b1cdbd2cSJim Jagielski
DeactivatePage(SfxItemSet * pSetP)158*b1cdbd2cSJim Jagielski int __EXPORT ScHFPage::DeactivatePage( SfxItemSet* pSetP )
159*b1cdbd2cSJim Jagielski {
160*b1cdbd2cSJim Jagielski if ( LEAVE_PAGE == SvxHFPage::DeactivatePage( pSetP ) )
161*b1cdbd2cSJim Jagielski if ( pSetP )
162*b1cdbd2cSJim Jagielski FillItemSet( *pSetP );
163*b1cdbd2cSJim Jagielski
164*b1cdbd2cSJim Jagielski return LEAVE_PAGE;
165*b1cdbd2cSJim Jagielski }
166*b1cdbd2cSJim Jagielski
167*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
168*b1cdbd2cSJim Jagielski
ActivatePage()169*b1cdbd2cSJim Jagielski void ScHFPage::ActivatePage()
170*b1cdbd2cSJim Jagielski {
171*b1cdbd2cSJim Jagielski }
172*b1cdbd2cSJim Jagielski
DeactivatePage()173*b1cdbd2cSJim Jagielski void ScHFPage::DeactivatePage()
174*b1cdbd2cSJim Jagielski {
175*b1cdbd2cSJim Jagielski }
176*b1cdbd2cSJim Jagielski
177*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
178*b1cdbd2cSJim Jagielski // Handler:
179*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
180*b1cdbd2cSJim Jagielski
IMPL_LINK(ScHFPage,TurnOnHdl,CheckBox *,EMPTYARG)181*b1cdbd2cSJim Jagielski IMPL_LINK( ScHFPage, TurnOnHdl, CheckBox*, EMPTYARG )
182*b1cdbd2cSJim Jagielski {
183*b1cdbd2cSJim Jagielski SvxHFPage::TurnOnHdl( &aTurnOnBox );
184*b1cdbd2cSJim Jagielski
185*b1cdbd2cSJim Jagielski if ( aTurnOnBox.IsChecked() )
186*b1cdbd2cSJim Jagielski aBtnEdit.Enable();
187*b1cdbd2cSJim Jagielski else
188*b1cdbd2cSJim Jagielski aBtnEdit.Disable();
189*b1cdbd2cSJim Jagielski
190*b1cdbd2cSJim Jagielski return 0;
191*b1cdbd2cSJim Jagielski }
192*b1cdbd2cSJim Jagielski
193*b1cdbd2cSJim Jagielski
194*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
195*b1cdbd2cSJim Jagielski
IMPL_LINK(ScHFPage,BtnHdl,PushButton *,EMPTYARG)196*b1cdbd2cSJim Jagielski IMPL_LINK( ScHFPage, BtnHdl, PushButton*, EMPTYARG )
197*b1cdbd2cSJim Jagielski {
198*b1cdbd2cSJim Jagielski // Wenn der Bearbeiten-Dialog direkt aus dem Click-Handler des Buttons
199*b1cdbd2cSJim Jagielski // aufgerufen wird, funktioniert im Bearbeiten-Dialog unter OS/2 das
200*b1cdbd2cSJim Jagielski // GrabFocus nicht (Bug #41805#).
201*b1cdbd2cSJim Jagielski // Mit dem neuen StarView sollte dieser Workaround wieder raus koennen!
202*b1cdbd2cSJim Jagielski
203*b1cdbd2cSJim Jagielski Application::PostUserEvent( LINK( this, ScHFPage, HFEditHdl ) );
204*b1cdbd2cSJim Jagielski return 0;
205*b1cdbd2cSJim Jagielski }
206*b1cdbd2cSJim Jagielski
IMPL_LINK(ScHFPage,HFEditHdl,void *,EMPTYARG)207*b1cdbd2cSJim Jagielski IMPL_LINK( ScHFPage, HFEditHdl, void*, EMPTYARG )
208*b1cdbd2cSJim Jagielski {
209*b1cdbd2cSJim Jagielski SfxViewShell* pViewSh = SfxViewShell::Current();
210*b1cdbd2cSJim Jagielski
211*b1cdbd2cSJim Jagielski if ( !pViewSh )
212*b1cdbd2cSJim Jagielski {
213*b1cdbd2cSJim Jagielski DBG_ERROR( "Current ViewShell not found." );
214*b1cdbd2cSJim Jagielski return 0;
215*b1cdbd2cSJim Jagielski }
216*b1cdbd2cSJim Jagielski
217*b1cdbd2cSJim Jagielski if ( aCntSharedBox.IsEnabled()
218*b1cdbd2cSJim Jagielski && !aCntSharedBox.IsChecked() )
219*b1cdbd2cSJim Jagielski {
220*b1cdbd2cSJim Jagielski sal_uInt16 nResId = ( nId == SID_ATTR_PAGE_HEADERSET )
221*b1cdbd2cSJim Jagielski ? RID_SCDLG_HFED_HEADER
222*b1cdbd2cSJim Jagielski : RID_SCDLG_HFED_FOOTER;
223*b1cdbd2cSJim Jagielski
224*b1cdbd2cSJim Jagielski ScHFEditDlg* pDlg
225*b1cdbd2cSJim Jagielski = new ScHFEditDlg( pViewSh->GetViewFrame(), this,
226*b1cdbd2cSJim Jagielski aDataSet, aStrPageStyle, nResId );
227*b1cdbd2cSJim Jagielski
228*b1cdbd2cSJim Jagielski if ( pDlg->Execute() == RET_OK )
229*b1cdbd2cSJim Jagielski {
230*b1cdbd2cSJim Jagielski aDataSet.Put( *pDlg->GetOutputItemSet() );
231*b1cdbd2cSJim Jagielski }
232*b1cdbd2cSJim Jagielski
233*b1cdbd2cSJim Jagielski delete pDlg;
234*b1cdbd2cSJim Jagielski }
235*b1cdbd2cSJim Jagielski else
236*b1cdbd2cSJim Jagielski {
237*b1cdbd2cSJim Jagielski String aText;
238*b1cdbd2cSJim Jagielski SfxSingleTabDialog* pDlg = new SfxSingleTabDialog( this, aDataSet, 42 );
239*b1cdbd2cSJim Jagielski sal_Bool bRightPage = aCntSharedBox.IsChecked()
240*b1cdbd2cSJim Jagielski || ( SVX_PAGE_LEFT != SvxPageUsage(nPageUsage) );
241*b1cdbd2cSJim Jagielski
242*b1cdbd2cSJim Jagielski if ( nId == SID_ATTR_PAGE_HEADERSET )
243*b1cdbd2cSJim Jagielski {
244*b1cdbd2cSJim Jagielski aText = ScGlobal::GetRscString( STR_PAGEHEADER );
245*b1cdbd2cSJim Jagielski if ( bRightPage )
246*b1cdbd2cSJim Jagielski pDlg->SetTabPage( ScRightHeaderEditPage::Create( pDlg, aDataSet ) );
247*b1cdbd2cSJim Jagielski else
248*b1cdbd2cSJim Jagielski pDlg->SetTabPage( ScLeftHeaderEditPage::Create( pDlg, aDataSet ) );
249*b1cdbd2cSJim Jagielski }
250*b1cdbd2cSJim Jagielski else
251*b1cdbd2cSJim Jagielski {
252*b1cdbd2cSJim Jagielski aText = ScGlobal::GetRscString( STR_PAGEFOOTER );
253*b1cdbd2cSJim Jagielski if ( bRightPage )
254*b1cdbd2cSJim Jagielski pDlg->SetTabPage( ScRightFooterEditPage::Create( pDlg, aDataSet ) );
255*b1cdbd2cSJim Jagielski else
256*b1cdbd2cSJim Jagielski pDlg->SetTabPage( ScLeftFooterEditPage::Create( pDlg, aDataSet ) );
257*b1cdbd2cSJim Jagielski }
258*b1cdbd2cSJim Jagielski
259*b1cdbd2cSJim Jagielski SvxNumType eNumType = ((const SvxPageItem&)aDataSet.Get(ATTR_PAGE)).GetNumType();
260*b1cdbd2cSJim Jagielski ((ScHFEditPage*)pDlg->GetTabPage())->SetNumType(eNumType);
261*b1cdbd2cSJim Jagielski
262*b1cdbd2cSJim Jagielski aText.AppendAscii(RTL_CONSTASCII_STRINGPARAM( " (" ));
263*b1cdbd2cSJim Jagielski aText += ScGlobal::GetRscString( STR_PAGESTYLE );
264*b1cdbd2cSJim Jagielski aText.AppendAscii(RTL_CONSTASCII_STRINGPARAM( ": " ));
265*b1cdbd2cSJim Jagielski aText += aStrPageStyle;
266*b1cdbd2cSJim Jagielski aText += ')';
267*b1cdbd2cSJim Jagielski
268*b1cdbd2cSJim Jagielski pDlg->SetText( aText );
269*b1cdbd2cSJim Jagielski
270*b1cdbd2cSJim Jagielski if ( pDlg->Execute() == RET_OK )
271*b1cdbd2cSJim Jagielski {
272*b1cdbd2cSJim Jagielski aDataSet.Put( *pDlg->GetOutputItemSet() );
273*b1cdbd2cSJim Jagielski }
274*b1cdbd2cSJim Jagielski
275*b1cdbd2cSJim Jagielski delete pDlg;
276*b1cdbd2cSJim Jagielski }
277*b1cdbd2cSJim Jagielski
278*b1cdbd2cSJim Jagielski return 0;
279*b1cdbd2cSJim Jagielski }
280*b1cdbd2cSJim Jagielski
281*b1cdbd2cSJim Jagielski //==================================================================
282*b1cdbd2cSJim Jagielski // class ScHeaderPage
283*b1cdbd2cSJim Jagielski //==================================================================
284*b1cdbd2cSJim Jagielski
ScHeaderPage(Window * pParent,const SfxItemSet & rSet)285*b1cdbd2cSJim Jagielski ScHeaderPage::ScHeaderPage( Window* pParent, const SfxItemSet& rSet )
286*b1cdbd2cSJim Jagielski : ScHFPage( pParent, RID_SVXPAGE_HEADER, rSet, SID_ATTR_PAGE_HEADERSET )
287*b1cdbd2cSJim Jagielski {
288*b1cdbd2cSJim Jagielski }
289*b1cdbd2cSJim Jagielski
290*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
291*b1cdbd2cSJim Jagielski
Create(Window * pParent,const SfxItemSet & rCoreSet)292*b1cdbd2cSJim Jagielski SfxTabPage* __EXPORT ScHeaderPage::Create( Window* pParent, const SfxItemSet& rCoreSet )
293*b1cdbd2cSJim Jagielski {
294*b1cdbd2cSJim Jagielski return ( new ScHeaderPage( pParent, rCoreSet ) );
295*b1cdbd2cSJim Jagielski }
296*b1cdbd2cSJim Jagielski
297*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
298*b1cdbd2cSJim Jagielski
GetRanges()299*b1cdbd2cSJim Jagielski sal_uInt16* __EXPORT ScHeaderPage::GetRanges()
300*b1cdbd2cSJim Jagielski {
301*b1cdbd2cSJim Jagielski return SvxHeaderPage::GetRanges();
302*b1cdbd2cSJim Jagielski }
303*b1cdbd2cSJim Jagielski
304*b1cdbd2cSJim Jagielski //==================================================================
305*b1cdbd2cSJim Jagielski // class ScFooterPage
306*b1cdbd2cSJim Jagielski //==================================================================
307*b1cdbd2cSJim Jagielski
ScFooterPage(Window * pParent,const SfxItemSet & rSet)308*b1cdbd2cSJim Jagielski ScFooterPage::ScFooterPage( Window* pParent, const SfxItemSet& rSet )
309*b1cdbd2cSJim Jagielski : ScHFPage( pParent, RID_SVXPAGE_FOOTER, rSet, SID_ATTR_PAGE_FOOTERSET )
310*b1cdbd2cSJim Jagielski {
311*b1cdbd2cSJim Jagielski }
312*b1cdbd2cSJim Jagielski
313*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
314*b1cdbd2cSJim Jagielski
Create(Window * pParent,const SfxItemSet & rCoreSet)315*b1cdbd2cSJim Jagielski SfxTabPage* __EXPORT ScFooterPage::Create( Window* pParent, const SfxItemSet& rCoreSet )
316*b1cdbd2cSJim Jagielski {
317*b1cdbd2cSJim Jagielski return ( new ScFooterPage( pParent, rCoreSet ) );
318*b1cdbd2cSJim Jagielski }
319*b1cdbd2cSJim Jagielski
320*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
321*b1cdbd2cSJim Jagielski
GetRanges()322*b1cdbd2cSJim Jagielski sal_uInt16* __EXPORT ScFooterPage::GetRanges()
323*b1cdbd2cSJim Jagielski {
324*b1cdbd2cSJim Jagielski return SvxHeaderPage::GetRanges();
325*b1cdbd2cSJim Jagielski }
326*b1cdbd2cSJim Jagielski
327*b1cdbd2cSJim Jagielski
328*b1cdbd2cSJim Jagielski
329*b1cdbd2cSJim Jagielski
330