xref: /aoo41x/main/sw/source/ui/misc/pgfnote.cxx (revision efeef26f)
1*efeef26fSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*efeef26fSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*efeef26fSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*efeef26fSAndrew Rist  * distributed with this work for additional information
6*efeef26fSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*efeef26fSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*efeef26fSAndrew Rist  * "License"); you may not use this file except in compliance
9*efeef26fSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*efeef26fSAndrew Rist  *
11*efeef26fSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*efeef26fSAndrew Rist  *
13*efeef26fSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*efeef26fSAndrew Rist  * software distributed under the License is distributed on an
15*efeef26fSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*efeef26fSAndrew Rist  * KIND, either express or implied.  See the License for the
17*efeef26fSAndrew Rist  * specific language governing permissions and limitations
18*efeef26fSAndrew Rist  * under the License.
19*efeef26fSAndrew Rist  *
20*efeef26fSAndrew Rist  *************************************************************/
21*efeef26fSAndrew Rist 
22*efeef26fSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
25cdf0e10cSrcweir #include "precompiled_sw.hxx"
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #ifdef SW_DLLIMPLEMENTATION
28cdf0e10cSrcweir #undef SW_DLLIMPLEMENTATION
29cdf0e10cSrcweir #endif
30cdf0e10cSrcweir 
31cdf0e10cSrcweir 
32cdf0e10cSrcweir 
33cdf0e10cSrcweir #ifndef _CMDID_H
34cdf0e10cSrcweir #include <cmdid.h>
35cdf0e10cSrcweir #endif
36cdf0e10cSrcweir #include <hintids.hxx>
37cdf0e10cSrcweir #include <tools/ref.hxx>
38cdf0e10cSrcweir #ifndef _SVX_DIALOGS_HRC
39cdf0e10cSrcweir #include <svx/dialogs.hrc>
40cdf0e10cSrcweir #endif
41cdf0e10cSrcweir #include <vcl/field.hxx>
42cdf0e10cSrcweir #include <vcl/svapp.hxx>
43cdf0e10cSrcweir #include <unotools/localedatawrapper.hxx>
44cdf0e10cSrcweir #include <unotools/syslocale.hxx>
45cdf0e10cSrcweir #include <editeng/sizeitem.hxx>
46cdf0e10cSrcweir #include <svx/pageitem.hxx>
47cdf0e10cSrcweir #include <svl/eitem.hxx>
48cdf0e10cSrcweir #include <editeng/ulspitem.hxx>
49cdf0e10cSrcweir #include <uitool.hxx>
50cdf0e10cSrcweir #include <pagedesc.hxx>
51cdf0e10cSrcweir #include <pgfnote.hxx>
52cdf0e10cSrcweir #include <uiitems.hxx>
53cdf0e10cSrcweir 
54cdf0e10cSrcweir #ifndef _GLOBALS_HRC
55cdf0e10cSrcweir #include <globals.hrc>
56cdf0e10cSrcweir #endif
57cdf0e10cSrcweir #ifndef _MISC_HRC
58cdf0e10cSrcweir #include <misc.hrc>
59cdf0e10cSrcweir #endif
60cdf0e10cSrcweir #ifndef _PGFNOTE_HRC
61cdf0e10cSrcweir #include <pgfnote.hrc>
62cdf0e10cSrcweir #endif
63cdf0e10cSrcweir 
64cdf0e10cSrcweir #define TWIP_TO_LBOX 5
65cdf0e10cSrcweir /*-----------------------------------------------------#---------------
66cdf0e10cSrcweir 	Beschreibung:   vordefinierte Linien in Point
67cdf0e10cSrcweir  --------------------------------------------------------------------*/
68cdf0e10cSrcweir 
69cdf0e10cSrcweir static const sal_uInt16 __FAR_DATA nLines[] = {
70cdf0e10cSrcweir 	0,
71cdf0e10cSrcweir 	50,
72cdf0e10cSrcweir 	100,
73cdf0e10cSrcweir 	150,
74cdf0e10cSrcweir 	200,
75cdf0e10cSrcweir 	500
76cdf0e10cSrcweir };
77cdf0e10cSrcweir 
78cdf0e10cSrcweir static const sal_uInt16 nLineCount = sizeof(nLines) / sizeof(nLines[0]);
79cdf0e10cSrcweir 
80cdf0e10cSrcweir static sal_uInt16 __FAR_DATA aPageRg[] = {
81cdf0e10cSrcweir 	FN_PARAM_FTN_INFO, FN_PARAM_FTN_INFO,
82cdf0e10cSrcweir 	0
83cdf0e10cSrcweir };
84cdf0e10cSrcweir 
85cdf0e10cSrcweir 
86cdf0e10cSrcweir /*------------------------------------------------------------------------
87cdf0e10cSrcweir  Beschreibung:	liefert zurueck, ob die Linienbreite nWidth bereits
88cdf0e10cSrcweir 				in der Listbox enthalten ist.
89cdf0e10cSrcweir ------------------------------------------------------------------------*/
90cdf0e10cSrcweir 
91cdf0e10cSrcweir 
lcl_HasLineWidth(sal_uInt16 nWidth)92cdf0e10cSrcweir sal_Bool lcl_HasLineWidth(sal_uInt16 nWidth)
93cdf0e10cSrcweir {
94cdf0e10cSrcweir 	for(sal_uInt16 i = 0; i < nLineCount; ++i) {
95cdf0e10cSrcweir 		if(nLines[i] == nWidth)
96cdf0e10cSrcweir 			return sal_True;
97cdf0e10cSrcweir 	}
98cdf0e10cSrcweir 	return sal_False;
99cdf0e10cSrcweir }
100cdf0e10cSrcweir 
101cdf0e10cSrcweir /*------------------------------------------------------------------------
102cdf0e10cSrcweir  Beschreibung:	Handler fuer umschalten zwischen den unterschiedlichen
103cdf0e10cSrcweir 				Arten, wie die Hoehe des Fussnotenbereiches angegeben
104cdf0e10cSrcweir 				werden kann.
105cdf0e10cSrcweir ------------------------------------------------------------------------*/
106cdf0e10cSrcweir 
107cdf0e10cSrcweir 
IMPL_LINK_INLINE_START(SwFootNotePage,HeightPage,Button *,EMPTYARG)108cdf0e10cSrcweir IMPL_LINK_INLINE_START( SwFootNotePage, HeightPage, Button *, EMPTYARG )
109cdf0e10cSrcweir {
110cdf0e10cSrcweir 	aMaxHeightEdit.Enable(sal_False);
111cdf0e10cSrcweir 	return 0;
112cdf0e10cSrcweir }
IMPL_LINK_INLINE_END(SwFootNotePage,HeightPage,Button *,EMPTYARG)113cdf0e10cSrcweir IMPL_LINK_INLINE_END( SwFootNotePage, HeightPage, Button *, EMPTYARG )
114cdf0e10cSrcweir 
115cdf0e10cSrcweir 
116cdf0e10cSrcweir IMPL_LINK_INLINE_START( SwFootNotePage, HeightMetric, Button *, EMPTYARG )
117cdf0e10cSrcweir {
118cdf0e10cSrcweir 	aMaxHeightEdit.Enable();
119cdf0e10cSrcweir 	aMaxHeightEdit.GrabFocus();
120cdf0e10cSrcweir 	return 0;
121cdf0e10cSrcweir }
IMPL_LINK_INLINE_END(SwFootNotePage,HeightMetric,Button *,EMPTYARG)122cdf0e10cSrcweir IMPL_LINK_INLINE_END( SwFootNotePage, HeightMetric, Button *, EMPTYARG )
123cdf0e10cSrcweir 
124cdf0e10cSrcweir /*------------------------------------------------------------------------
125cdf0e10cSrcweir  Beschreibung:	Handler Grenzwerte
126cdf0e10cSrcweir ------------------------------------------------------------------------*/
127cdf0e10cSrcweir 
128cdf0e10cSrcweir 
129cdf0e10cSrcweir IMPL_LINK( SwFootNotePage, HeightModify, MetricField *, EMPTYARG )
130cdf0e10cSrcweir {
131cdf0e10cSrcweir 	aMaxHeightEdit.SetMax(aMaxHeightEdit.Normalize(lMaxHeight -
132cdf0e10cSrcweir 			(aDistEdit.Denormalize(aDistEdit.GetValue(FUNIT_TWIP)) +
133cdf0e10cSrcweir 			aLineDistEdit.Denormalize(aLineDistEdit.GetValue(FUNIT_TWIP)))),
134cdf0e10cSrcweir 			FUNIT_TWIP);
135cdf0e10cSrcweir 	if(aMaxHeightEdit.GetValue() < 0)
136cdf0e10cSrcweir 		aMaxHeightEdit.SetValue(0);
137cdf0e10cSrcweir 	aDistEdit.SetMax(aDistEdit.Normalize(lMaxHeight -
138cdf0e10cSrcweir 			(aMaxHeightEdit.Denormalize(aMaxHeightEdit.GetValue(FUNIT_TWIP)) +
139cdf0e10cSrcweir 			aLineDistEdit.Denormalize(aLineDistEdit.GetValue(FUNIT_TWIP)))),
140cdf0e10cSrcweir 			FUNIT_TWIP);
141cdf0e10cSrcweir 	if(aDistEdit.GetValue() < 0)
142cdf0e10cSrcweir 		aDistEdit.SetValue(0);
143cdf0e10cSrcweir 	aLineDistEdit.SetMax(aLineDistEdit.Normalize(lMaxHeight -
144cdf0e10cSrcweir 			(aMaxHeightEdit.Denormalize(aMaxHeightEdit.GetValue(FUNIT_TWIP)) +
145cdf0e10cSrcweir 			aDistEdit.Denormalize(aDistEdit.GetValue(FUNIT_TWIP)))),
146cdf0e10cSrcweir 			FUNIT_TWIP);
147cdf0e10cSrcweir 	return 0;
148cdf0e10cSrcweir }
149cdf0e10cSrcweir 
150cdf0e10cSrcweir // CTOR / DTOR -----------------------------------------------------------
151cdf0e10cSrcweir 
SwFootNotePage(Window * pParent,const SfxItemSet & rSet)152cdf0e10cSrcweir SwFootNotePage::SwFootNotePage(Window *pParent, const SfxItemSet &rSet) :
153cdf0e10cSrcweir 
154cdf0e10cSrcweir 	SfxTabPage(pParent, SW_RES(TP_FOOTNOTE_PAGE), rSet),
155cdf0e10cSrcweir     aPosHeader(this, 		SW_RES(FL_FOOTNOTE_SIZE)),
156cdf0e10cSrcweir 	aMaxHeightPageBtn(this, SW_RES(RB_MAXHEIGHT_PAGE)),
157cdf0e10cSrcweir 	aMaxHeightBtn(this, 	SW_RES(RB_MAXHEIGHT)),
158cdf0e10cSrcweir 	aMaxHeightEdit(this, 	SW_RES(ED_MAXHEIGHT)),
159cdf0e10cSrcweir 	aDistLbl(this, 			SW_RES(FT_DIST)),
160cdf0e10cSrcweir 	aDistEdit(this, 		SW_RES(ED_DIST)),
161cdf0e10cSrcweir 
162cdf0e10cSrcweir 	aLineHeader(this, 		SW_RES(FL_LINE)),
163cdf0e10cSrcweir     aLinePosLbl(this, 		SW_RES(FT_LINEPOS)),
164cdf0e10cSrcweir 	aLinePosBox(this, 		SW_RES(DLB_LINEPOS)),
165cdf0e10cSrcweir 	aLineTypeLbl(this, 		SW_RES(FT_LINETYPE)),
166cdf0e10cSrcweir 	aLineTypeBox(this, 		SW_RES(DLB_LINETYPE)),
167cdf0e10cSrcweir 	aLineWidthLbl(this, 	SW_RES(FT_LINEWIDTH)),
168cdf0e10cSrcweir 	aLineWidthEdit(this, 	SW_RES(ED_LINEWIDTH)),
169cdf0e10cSrcweir 	aLineDistLbl(this, 		SW_RES(FT_LINEDIST)),
170cdf0e10cSrcweir 	aLineDistEdit(this, 	SW_RES(ED_LINEDIST))
171cdf0e10cSrcweir 	{
172cdf0e10cSrcweir 	FreeResource();
173cdf0e10cSrcweir 
174cdf0e10cSrcweir 	SetExchangeSupport();
175cdf0e10cSrcweir 	FieldUnit aMetric = ::GetDfltMetric(sal_False);
176cdf0e10cSrcweir 	SetMetric( aMaxHeightEdit,	aMetric );
177cdf0e10cSrcweir 	SetMetric( aDistEdit, 		aMetric );
178cdf0e10cSrcweir 	SetMetric( aLineDistEdit, 	aMetric );
179cdf0e10cSrcweir 	MeasurementSystem eSys = SvtSysLocale().GetLocaleData().getMeasurementSystemEnum();
180cdf0e10cSrcweir 	long nHeightValue = MEASURE_METRIC != eSys ? 1440 : 1134;
181cdf0e10cSrcweir 	aMaxHeightEdit.SetValue(aMaxHeightEdit.Normalize(nHeightValue),FUNIT_TWIP);;
182cdf0e10cSrcweir 	aMaxHeightEdit.SetAccessibleRelationLabeledBy(&aMaxHeightBtn);
183cdf0e10cSrcweir }
184cdf0e10cSrcweir 
~SwFootNotePage()185cdf0e10cSrcweir SwFootNotePage::~SwFootNotePage()
186cdf0e10cSrcweir {
187cdf0e10cSrcweir }
188cdf0e10cSrcweir 
189cdf0e10cSrcweir 
Create(Window * pParent,const SfxItemSet & rSet)190cdf0e10cSrcweir SfxTabPage* SwFootNotePage::Create(Window *pParent, const SfxItemSet &rSet)
191cdf0e10cSrcweir {
192cdf0e10cSrcweir 	return new SwFootNotePage(pParent, rSet);
193cdf0e10cSrcweir }
194cdf0e10cSrcweir 
195cdf0e10cSrcweir 
196cdf0e10cSrcweir /*--------------------------------------------------------------------
197cdf0e10cSrcweir 	Beschreibung:
198cdf0e10cSrcweir  --------------------------------------------------------------------*/
199cdf0e10cSrcweir 
200cdf0e10cSrcweir 
Reset(const SfxItemSet & rSet)201cdf0e10cSrcweir void SwFootNotePage::Reset(const SfxItemSet &rSet)
202cdf0e10cSrcweir {
203cdf0e10cSrcweir 	// Falls noch kein Bsp vorhanden Init hier sonst im Activate
204cdf0e10cSrcweir 	//
205cdf0e10cSrcweir 	SwPageFtnInfo* pDefFtnInfo = 0;
206cdf0e10cSrcweir 	const SwPageFtnInfo* pFtnInfo;
207cdf0e10cSrcweir 	const SfxPoolItem* pItem = SfxTabPage::GetItem(rSet, FN_PARAM_FTN_INFO);
208cdf0e10cSrcweir 	if( pItem )
209cdf0e10cSrcweir 	{
210cdf0e10cSrcweir 		pFtnInfo = &((const SwPageFtnInfoItem*)pItem)->GetPageFtnInfo();
211cdf0e10cSrcweir 	}
212cdf0e10cSrcweir 	else
213cdf0e10cSrcweir 	{
214cdf0e10cSrcweir 		// wenn "Standard" betaetigt wird, wird das Fussnotenitem geloescht,
215cdf0e10cSrcweir 		// deswegen muss hier eine Fussnotenstruktur erzeugt werden
216cdf0e10cSrcweir 		pDefFtnInfo = new SwPageFtnInfo();
217cdf0e10cSrcweir 		pFtnInfo = pDefFtnInfo;
218cdf0e10cSrcweir 	}
219cdf0e10cSrcweir 		// Hoehe Fussnotenbereich
220cdf0e10cSrcweir 	SwTwips lHeight = pFtnInfo->GetHeight();
221cdf0e10cSrcweir 	if(lHeight)
222cdf0e10cSrcweir 	{
223cdf0e10cSrcweir 		aMaxHeightEdit.SetValue(aMaxHeightEdit.Normalize(lHeight),FUNIT_TWIP);
224cdf0e10cSrcweir 		aMaxHeightBtn.Check(sal_True);
225cdf0e10cSrcweir 	}
226cdf0e10cSrcweir 	else
227cdf0e10cSrcweir 	{
228cdf0e10cSrcweir 		aMaxHeightPageBtn.Check(sal_True);
229cdf0e10cSrcweir 		aMaxHeightEdit.Enable(sal_False);
230cdf0e10cSrcweir 	}
231cdf0e10cSrcweir 	aMaxHeightPageBtn.SetClickHdl(LINK(this,SwFootNotePage,HeightPage));
232cdf0e10cSrcweir 	aMaxHeightBtn.SetClickHdl(LINK(this,SwFootNotePage,HeightMetric));
233cdf0e10cSrcweir 	Link aLk = LINK(this, SwFootNotePage, HeightModify);
234cdf0e10cSrcweir 	aMaxHeightEdit.SetLoseFocusHdl( aLk );
235cdf0e10cSrcweir 	aDistEdit.SetLoseFocusHdl( aLk );
236cdf0e10cSrcweir 	aLineDistEdit.SetLoseFocusHdl( aLk );
237cdf0e10cSrcweir 
238cdf0e10cSrcweir 	// Trennlinie
239cdf0e10cSrcweir 	for(sal_uInt16 i = 0; i < nLineCount; ++i)
240cdf0e10cSrcweir 		aLineTypeBox.InsertEntry(nLines[i]);
241cdf0e10cSrcweir 
242cdf0e10cSrcweir 	const sal_uInt16 nWidth = (sal_uInt16)pFtnInfo->GetLineWidth() * TWIP_TO_LBOX;
243cdf0e10cSrcweir 	if ( !lcl_HasLineWidth(nWidth) )
244cdf0e10cSrcweir 		aLineTypeBox.InsertEntry(nWidth);
245cdf0e10cSrcweir 	aLineTypeBox.SelectEntry(nWidth);
246cdf0e10cSrcweir 
247cdf0e10cSrcweir     // Position
248cdf0e10cSrcweir     aLinePosBox.SelectEntryPos( static_cast< sal_uInt16 >(pFtnInfo->GetAdj()) );
249cdf0e10cSrcweir 
250cdf0e10cSrcweir 		// Breite
251cdf0e10cSrcweir 	Fraction aTmp( 100, 1 );
252cdf0e10cSrcweir 	aTmp *= pFtnInfo->GetWidth();
253cdf0e10cSrcweir 	aLineWidthEdit.SetValue( static_cast<long>(aTmp) );
254cdf0e10cSrcweir 
255cdf0e10cSrcweir 		// Abstand Fussnotenbereich
256cdf0e10cSrcweir 	aDistEdit.SetValue(aDistEdit.Normalize(pFtnInfo->GetTopDist()),FUNIT_TWIP);
257cdf0e10cSrcweir 	aLineDistEdit.SetValue(
258cdf0e10cSrcweir 		aLineDistEdit.Normalize(pFtnInfo->GetBottomDist()), FUNIT_TWIP);
259cdf0e10cSrcweir 	ActivatePage( rSet );
260cdf0e10cSrcweir 	delete pDefFtnInfo;
261cdf0e10cSrcweir }
262cdf0e10cSrcweir 
263cdf0e10cSrcweir /*--------------------------------------------------------------------
264cdf0e10cSrcweir 	Beschreibung:	Attribute in den Set stopfen bei OK
265cdf0e10cSrcweir  --------------------------------------------------------------------*/
266cdf0e10cSrcweir 
267cdf0e10cSrcweir 
FillItemSet(SfxItemSet & rSet)268cdf0e10cSrcweir sal_Bool SwFootNotePage::FillItemSet(SfxItemSet &rSet)
269cdf0e10cSrcweir {
270cdf0e10cSrcweir 	SwPageFtnInfoItem aItem((const SwPageFtnInfoItem&)GetItemSet().Get(FN_PARAM_FTN_INFO));
271cdf0e10cSrcweir 
272cdf0e10cSrcweir 	// Das ist das Original
273cdf0e10cSrcweir 	SwPageFtnInfo &rFtnInfo = aItem.GetPageFtnInfo();
274cdf0e10cSrcweir 
275cdf0e10cSrcweir 		// Hoehe Fussnotenbereich
276cdf0e10cSrcweir 	if(aMaxHeightBtn.IsChecked())
277cdf0e10cSrcweir         rFtnInfo.SetHeight( static_cast< SwTwips >(
278cdf0e10cSrcweir                 aMaxHeightEdit.Denormalize(aMaxHeightEdit.GetValue(FUNIT_TWIP))));
279cdf0e10cSrcweir 	else
280cdf0e10cSrcweir 		rFtnInfo.SetHeight(0);
281cdf0e10cSrcweir 
282cdf0e10cSrcweir 		// Abstand Fussnotenbereich
283cdf0e10cSrcweir     rFtnInfo.SetTopDist(  static_cast< SwTwips >(
284cdf0e10cSrcweir             aDistEdit.Denormalize(aDistEdit.GetValue(FUNIT_TWIP))));
285cdf0e10cSrcweir     rFtnInfo.SetBottomDist(  static_cast< SwTwips >(
286cdf0e10cSrcweir             aLineDistEdit.Denormalize(aLineDistEdit.GetValue(FUNIT_TWIP))));
287cdf0e10cSrcweir 
288cdf0e10cSrcweir 		// Trennlinie
289cdf0e10cSrcweir 	const sal_uInt16 nPos = aLineTypeBox.GetSelectEntryPos();
290cdf0e10cSrcweir 	if( LISTBOX_ENTRY_NOTFOUND != nPos )
291cdf0e10cSrcweir 		rFtnInfo.SetLineWidth(nLines[nPos] / TWIP_TO_LBOX);
292cdf0e10cSrcweir 
293cdf0e10cSrcweir 		// Position
294cdf0e10cSrcweir 	rFtnInfo.SetAdj((SwFtnAdj)aLinePosBox.GetSelectEntryPos());
295cdf0e10cSrcweir 
296cdf0e10cSrcweir 		// Breite
297cdf0e10cSrcweir     rFtnInfo.SetWidth(Fraction( static_cast< long >(aLineWidthEdit.GetValue()), 100));
298cdf0e10cSrcweir 
299cdf0e10cSrcweir 	const SfxPoolItem* pOldItem;
300cdf0e10cSrcweir 	if(0 == (pOldItem = GetOldItem( rSet, FN_PARAM_FTN_INFO )) ||
301cdf0e10cSrcweir 				aItem != *pOldItem )
302cdf0e10cSrcweir 		rSet.Put(aItem);
303cdf0e10cSrcweir 
304cdf0e10cSrcweir 	return sal_True;
305cdf0e10cSrcweir }
306cdf0e10cSrcweir 
ActivatePage(const SfxItemSet & rSet)307cdf0e10cSrcweir void SwFootNotePage::ActivatePage(const SfxItemSet& rSet)
308cdf0e10cSrcweir {
309cdf0e10cSrcweir 	const SvxSizeItem& rSize = (const SvxSizeItem&)rSet.Get( RES_FRM_SIZE );
310cdf0e10cSrcweir 	lMaxHeight = rSize.GetSize().Height();
311cdf0e10cSrcweir 
312cdf0e10cSrcweir 	const SfxPoolItem* pItem;
313cdf0e10cSrcweir 	if( SFX_ITEM_SET == rSet.GetItemState( rSet.GetPool()->GetWhich( SID_ATTR_PAGE_HEADERSET), sal_False, &pItem ) )
314cdf0e10cSrcweir 	{
315cdf0e10cSrcweir 		const SfxItemSet& rHeaderSet = ((SvxSetItem*)pItem)->GetItemSet();
316cdf0e10cSrcweir 		const SfxBoolItem& rHeaderOn =
317cdf0e10cSrcweir 			(const SfxBoolItem&)rHeaderSet.Get( rSet.GetPool()->GetWhich( SID_ATTR_PAGE_ON ) );
318cdf0e10cSrcweir 
319cdf0e10cSrcweir 		if ( rHeaderOn.GetValue() )
320cdf0e10cSrcweir 		{
321cdf0e10cSrcweir             const SvxSizeItem& rSizeItem =
322cdf0e10cSrcweir 				(const SvxSizeItem&)rHeaderSet.Get(rSet.GetPool()->GetWhich(SID_ATTR_PAGE_SIZE));
323cdf0e10cSrcweir             lMaxHeight -= rSizeItem.GetSize().Height();
324cdf0e10cSrcweir 		}
325cdf0e10cSrcweir 	}
326cdf0e10cSrcweir 
327cdf0e10cSrcweir 	if( SFX_ITEM_SET == rSet.GetItemState( rSet.GetPool()->GetWhich( SID_ATTR_PAGE_FOOTERSET),
328cdf0e10cSrcweir 			sal_False, &pItem ) )
329cdf0e10cSrcweir 	{
330cdf0e10cSrcweir 		const SfxItemSet& rFooterSet = ((SvxSetItem*)pItem)->GetItemSet();
331cdf0e10cSrcweir 		const SfxBoolItem& rFooterOn =
332cdf0e10cSrcweir 			(const SfxBoolItem&)rFooterSet.Get( SID_ATTR_PAGE_ON );
333cdf0e10cSrcweir 
334cdf0e10cSrcweir 		if ( rFooterOn.GetValue() )
335cdf0e10cSrcweir 		{
336cdf0e10cSrcweir             const SvxSizeItem& rSizeItem =
337cdf0e10cSrcweir 				(const SvxSizeItem&)rFooterSet.Get( rSet.GetPool()->GetWhich( SID_ATTR_PAGE_SIZE ) );
338cdf0e10cSrcweir             lMaxHeight -= rSizeItem.GetSize().Height();
339cdf0e10cSrcweir 		}
340cdf0e10cSrcweir 	}
341cdf0e10cSrcweir 
342cdf0e10cSrcweir 	if ( rSet.GetItemState( RES_UL_SPACE , sal_False ) == SFX_ITEM_SET )
343cdf0e10cSrcweir 	{
344cdf0e10cSrcweir 		const SvxULSpaceItem &rUL = (const SvxULSpaceItem&)rSet.Get( RES_UL_SPACE );
345cdf0e10cSrcweir 		lMaxHeight -= rUL.GetUpper() + rUL.GetLower();
346cdf0e10cSrcweir 	}
347cdf0e10cSrcweir 
348cdf0e10cSrcweir 	lMaxHeight *= 8;
349cdf0e10cSrcweir 	lMaxHeight /= 10;
350cdf0e10cSrcweir 
351cdf0e10cSrcweir 	// Maximalwerte setzen
352cdf0e10cSrcweir 	HeightModify(0);
353cdf0e10cSrcweir }
354cdf0e10cSrcweir 
DeactivatePage(SfxItemSet * _pSet)355cdf0e10cSrcweir int SwFootNotePage::DeactivatePage( SfxItemSet* _pSet)
356cdf0e10cSrcweir {
357cdf0e10cSrcweir     if(_pSet)
358cdf0e10cSrcweir         FillItemSet(*_pSet);
359cdf0e10cSrcweir 
360cdf0e10cSrcweir 	return sal_True;
361cdf0e10cSrcweir }
362cdf0e10cSrcweir 
GetRanges()363cdf0e10cSrcweir sal_uInt16* SwFootNotePage::GetRanges()
364cdf0e10cSrcweir {
365cdf0e10cSrcweir 	return aPageRg;
366cdf0e10cSrcweir }
367cdf0e10cSrcweir 
368cdf0e10cSrcweir 
369cdf0e10cSrcweir 
370