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