1*1d2dbeb0SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*1d2dbeb0SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*1d2dbeb0SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*1d2dbeb0SAndrew Rist * distributed with this work for additional information 6*1d2dbeb0SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*1d2dbeb0SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*1d2dbeb0SAndrew Rist * "License"); you may not use this file except in compliance 9*1d2dbeb0SAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*1d2dbeb0SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*1d2dbeb0SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*1d2dbeb0SAndrew Rist * software distributed under the License is distributed on an 15*1d2dbeb0SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*1d2dbeb0SAndrew Rist * KIND, either express or implied. See the License for the 17*1d2dbeb0SAndrew Rist * specific language governing permissions and limitations 18*1d2dbeb0SAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*1d2dbeb0SAndrew Rist *************************************************************/ 21*1d2dbeb0SAndrew Rist 22*1d2dbeb0SAndrew Rist 23cdf0e10cSrcweir #ifndef _PAGEDESC_HXX 24cdf0e10cSrcweir #define _PAGEDESC_HXX 25cdf0e10cSrcweir 26cdf0e10cSrcweir #include <tools/fract.hxx> 27cdf0e10cSrcweir #include <tools/color.hxx> 28cdf0e10cSrcweir #include <tools/string.hxx> 29cdf0e10cSrcweir #include "swdllapi.h" 30cdf0e10cSrcweir #include <swtypes.hxx> //fuer SwTwips 31cdf0e10cSrcweir #include <frmfmt.hxx> 32cdf0e10cSrcweir //#ifndef _NUMRULE_HXX 33cdf0e10cSrcweir //#include <numrule.hxx> 34cdf0e10cSrcweir //#endif 35cdf0e10cSrcweir #include <editeng/numitem.hxx> 36cdf0e10cSrcweir 37cdf0e10cSrcweir class SfxPoolItem; 38cdf0e10cSrcweir class SwTxtFmtColl; 39cdf0e10cSrcweir class SwNode; 40cdf0e10cSrcweir 41cdf0e10cSrcweir //Separator line adjustment 42cdf0e10cSrcweir enum SwFtnAdj 43cdf0e10cSrcweir { 44cdf0e10cSrcweir FTNADJ_LEFT, 45cdf0e10cSrcweir FTNADJ_CENTER, 46cdf0e10cSrcweir FTNADJ_RIGHT 47cdf0e10cSrcweir }; 48cdf0e10cSrcweir 49cdf0e10cSrcweir //footnote information 50cdf0e10cSrcweir class SW_DLLPUBLIC SwPageFtnInfo 51cdf0e10cSrcweir { 52cdf0e10cSrcweir SwTwips nMaxHeight; //maximum height of the footnote area. 53cdf0e10cSrcweir sal_uLong nLineWidth; //width of separator line 54cdf0e10cSrcweir Color aLineColor; //color of the separator line 55cdf0e10cSrcweir Fraction aWidth; //percentage width of the separator line. 56cdf0e10cSrcweir SwFtnAdj eAdj; //line adjustment. 57cdf0e10cSrcweir SwTwips nTopDist; //distance between body and separator. 58cdf0e10cSrcweir SwTwips nBottomDist; //distance between separator and first footnote 59cdf0e10cSrcweir 60cdf0e10cSrcweir public: 61cdf0e10cSrcweir SwTwips GetHeight() const { return nMaxHeight; } 62cdf0e10cSrcweir sal_uLong GetLineWidth() const { return nLineWidth; } 63cdf0e10cSrcweir const Color& GetLineColor() const { return aLineColor;} 64cdf0e10cSrcweir const Fraction& GetWidth() const { return aWidth; } 65cdf0e10cSrcweir SwFtnAdj GetAdj() const { return eAdj; } 66cdf0e10cSrcweir SwTwips GetTopDist()const { return nTopDist; } 67cdf0e10cSrcweir SwTwips GetBottomDist() const { return nBottomDist; } 68cdf0e10cSrcweir 69cdf0e10cSrcweir void SetHeight( SwTwips nNew ) { nMaxHeight = nNew; } 70cdf0e10cSrcweir void SetLineWidth(sal_uLong nSet ) { nLineWidth = nSet; } 71cdf0e10cSrcweir void SetLineColor(const Color& rCol ) { aLineColor = rCol;} 72cdf0e10cSrcweir void SetWidth( const Fraction &rNew){ aWidth = rNew; } 73cdf0e10cSrcweir void SetAdj ( SwFtnAdj eNew ) { eAdj = eNew; } 74cdf0e10cSrcweir void SetTopDist ( SwTwips nNew ) { nTopDist = nNew; } 75cdf0e10cSrcweir void SetBottomDist( SwTwips nNew ) { nBottomDist = nNew; } 76cdf0e10cSrcweir 77cdf0e10cSrcweir SwPageFtnInfo(); 78cdf0e10cSrcweir SwPageFtnInfo( const SwPageFtnInfo& ); 79cdf0e10cSrcweir SwPageFtnInfo& operator=( const SwPageFtnInfo& ); 80cdf0e10cSrcweir 81cdf0e10cSrcweir sal_Bool operator ==( const SwPageFtnInfo& ) const; 82cdf0e10cSrcweir }; 83cdf0e10cSrcweir 84cdf0e10cSrcweir /* 85cdf0e10cSrcweir * Verwendung des UseOnPage (eUse) und der FrmFmt'e 86cdf0e10cSrcweir * 87cdf0e10cSrcweir * RIGHT - aMaster nur fuer rechte Seiten, linke Seiten immer leer. 88cdf0e10cSrcweir * LEFT - aLeft fuer linke Seiten, rechte Seiten immer leer. 89cdf0e10cSrcweir * aLeft ist eine Kopie des Master. 90cdf0e10cSrcweir * ALL - aMaster fuer rechte Seiten, aLeft fuer Linke Seiten. 91cdf0e10cSrcweir * aLeft ist eine Kopie des Master. 92cdf0e10cSrcweir * MIRROR - aMaster fuer rechte Seiten, aLeft fuer linke Seiten. 93cdf0e10cSrcweir * aLeft ist eine Kopie des Master, Raender sind gespiegelt. 94cdf0e10cSrcweir * 95cdf0e10cSrcweir * UI dreht auschliesslich am Master! aLeft wird beim Chg am Dokument 96cdf0e10cSrcweir * enstprechend dem eUse eingestellt. 97cdf0e10cSrcweir * 98cdf0e10cSrcweir * Damit es die Filter etwas einfacher haben werden weitere Werte im 99cdf0e10cSrcweir * eUse untergebracht: 100cdf0e10cSrcweir * 101cdf0e10cSrcweir * HEADERSHARE - Headerinhalt auf beiden Seiten gleich 102cdf0e10cSrcweir * FOOTERSHARE - Footerinhalt auf beiden Seiten gleich 103cdf0e10cSrcweir * 104cdf0e10cSrcweir * Die Werte werden bei den entsprechenden Get-/Set-Methden ausmaskiert. 105cdf0e10cSrcweir * Zugriff auf das volle eUse inclusive der Header-Footer information 106cdf0e10cSrcweir * per ReadUseOn(), WriteUseOn() (fuer Filter und CopyCTor)! 107cdf0e10cSrcweir * 108cdf0e10cSrcweir * Die FrmFormate fuer Header/Footer werden anhand der Attribute fuer 109cdf0e10cSrcweir * Header/Footer vom UI am Master eingestellt (Hoehe, Raender, Hintergrund...); 110cdf0e10cSrcweir * Header/Footer fuer die Linke Seite werden entsprechen kopiert bzw. 111cdf0e10cSrcweir * gespielt (Chg am Dokument). 112cdf0e10cSrcweir * Das jew. Attribut fuer den Inhalt wird automatisch beim Chg am 113cdf0e10cSrcweir * Dokument versorgt (entsprechen den SHARE-informationen werden Inhalte 114cdf0e10cSrcweir * erzeugt bzw. entfernt). 115cdf0e10cSrcweir * 116cdf0e10cSrcweir */ 117cdf0e10cSrcweir 118cdf0e10cSrcweir typedef sal_uInt16 UseOnPage; 119cdf0e10cSrcweir namespace nsUseOnPage 120cdf0e10cSrcweir { 121cdf0e10cSrcweir const UseOnPage PD_NONE = 0x0000; //for internal use only. 122cdf0e10cSrcweir const UseOnPage PD_LEFT = 0x0001; 123cdf0e10cSrcweir const UseOnPage PD_RIGHT = 0x0002; 124cdf0e10cSrcweir const UseOnPage PD_ALL = 0x0003; 125cdf0e10cSrcweir const UseOnPage PD_MIRROR = 0x0007; 126cdf0e10cSrcweir const UseOnPage PD_HEADERSHARE = 0x0040; 127cdf0e10cSrcweir const UseOnPage PD_FOOTERSHARE = 0x0080; 128cdf0e10cSrcweir const UseOnPage PD_NOHEADERSHARE = 0x00BF; //for internal use only 129cdf0e10cSrcweir const UseOnPage PD_NOFOOTERSHARE = 0x007F; //for internal use only 130cdf0e10cSrcweir } 131cdf0e10cSrcweir 132cdf0e10cSrcweir class SW_DLLPUBLIC SwPageDesc : public SwModify 133cdf0e10cSrcweir { 134cdf0e10cSrcweir friend class SwDoc; 135cdf0e10cSrcweir friend class SwUndoPageDescExt; 136cdf0e10cSrcweir 137cdf0e10cSrcweir String aDescName; 138cdf0e10cSrcweir SvxNumberType aNumType; 139cdf0e10cSrcweir SwFrmFmt aMaster; 140cdf0e10cSrcweir SwFrmFmt aLeft; 141cdf0e10cSrcweir SwDepend aDepend; // wg. Registerhaltigkeit 142cdf0e10cSrcweir SwPageDesc *pFollow; 143cdf0e10cSrcweir sal_uInt16 nRegHeight; // Zeilenabstand und Fontascent der Vorlage 144cdf0e10cSrcweir sal_uInt16 nRegAscent; // fuer die Registerhaltigkeit 145cdf0e10cSrcweir UseOnPage eUse; 146cdf0e10cSrcweir sal_Bool bLandscape; 147cdf0e10cSrcweir 148cdf0e10cSrcweir //Fussnoteninformationen 149cdf0e10cSrcweir SwPageFtnInfo aFtnInfo; 150cdf0e10cSrcweir 151cdf0e10cSrcweir //Wird zum Spiegeln vom Chg (Doc) gerufen. 152cdf0e10cSrcweir //Kein Abgleich an anderer Stelle. 153cdf0e10cSrcweir SW_DLLPRIVATE void Mirror(); 154cdf0e10cSrcweir 155cdf0e10cSrcweir SW_DLLPRIVATE void ResetAllAttr( sal_Bool bLeft ); 156cdf0e10cSrcweir 157cdf0e10cSrcweir SW_DLLPRIVATE SwPageDesc(const String&, SwFrmFmt*, SwDoc *pDc ); 158cdf0e10cSrcweir 159cdf0e10cSrcweir protected: 160cdf0e10cSrcweir virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNewValue ); 161cdf0e10cSrcweir 162cdf0e10cSrcweir public: 163cdf0e10cSrcweir const String &GetName() const { return aDescName; } 164cdf0e10cSrcweir void SetName( const String& rNewName ) { aDescName = rNewName; } 165cdf0e10cSrcweir 166cdf0e10cSrcweir sal_Bool GetLandscape() const { return bLandscape; } 167cdf0e10cSrcweir void SetLandscape( sal_Bool bNew ) { bLandscape = bNew; } 168cdf0e10cSrcweir 169cdf0e10cSrcweir const SvxNumberType &GetNumType() const { return aNumType; } 170cdf0e10cSrcweir void SetNumType( const SvxNumberType& rNew ) { aNumType = rNew; } 171cdf0e10cSrcweir 172cdf0e10cSrcweir const SwPageFtnInfo &GetFtnInfo() const { return aFtnInfo; } 173cdf0e10cSrcweir SwPageFtnInfo &GetFtnInfo() { return aFtnInfo; } 174cdf0e10cSrcweir void SetFtnInfo( const SwPageFtnInfo &rNew ) { aFtnInfo = rNew; } 175cdf0e10cSrcweir 176cdf0e10cSrcweir inline sal_Bool IsHeaderShared() const; 177cdf0e10cSrcweir inline sal_Bool IsFooterShared() const; 178cdf0e10cSrcweir inline void ChgHeaderShare( sal_Bool bNew ); 179cdf0e10cSrcweir inline void ChgFooterShare( sal_Bool bNew ); 180cdf0e10cSrcweir 181cdf0e10cSrcweir inline void SetUseOn( UseOnPage eNew ); 182cdf0e10cSrcweir inline UseOnPage GetUseOn() const; 183cdf0e10cSrcweir 184cdf0e10cSrcweir void WriteUseOn( UseOnPage eNew ) { eUse = eNew; } 185cdf0e10cSrcweir UseOnPage ReadUseOn () const { return eUse; } 186cdf0e10cSrcweir 187cdf0e10cSrcweir SwFrmFmt &GetMaster() { return aMaster; } 188cdf0e10cSrcweir SwFrmFmt &GetLeft() { return aLeft; } 189cdf0e10cSrcweir const SwFrmFmt &GetMaster() const { return aMaster; } 190cdf0e10cSrcweir const SwFrmFmt &GetLeft() const { return aLeft; } 191cdf0e10cSrcweir 192cdf0e10cSrcweir // Reset all attrs of the format but keep the ones a pagedesc 193cdf0e10cSrcweir // cannot live without. 194cdf0e10cSrcweir inline void ResetAllMasterAttr(); 195cdf0e10cSrcweir inline void ResetAllLeftAttr(); 196cdf0e10cSrcweir 197cdf0e10cSrcweir //Mit den folgenden Methoden besorgt sich das Layout ein Format 198cdf0e10cSrcweir //um eine Seite erzeugen zu koennen 199cdf0e10cSrcweir inline SwFrmFmt *GetRightFmt(); 200cdf0e10cSrcweir inline const SwFrmFmt *GetRightFmt() const; 201cdf0e10cSrcweir inline SwFrmFmt *GetLeftFmt(); 202cdf0e10cSrcweir inline const SwFrmFmt *GetLeftFmt() const; 203cdf0e10cSrcweir 204cdf0e10cSrcweir sal_uInt16 GetRegHeight() const { return nRegHeight; } 205cdf0e10cSrcweir sal_uInt16 GetRegAscent() const { return nRegAscent; } 206cdf0e10cSrcweir void SetRegHeight( sal_uInt16 nNew ){ nRegHeight = nNew; } 207cdf0e10cSrcweir void SetRegAscent( sal_uInt16 nNew ){ nRegAscent = nNew; } 208cdf0e10cSrcweir 209cdf0e10cSrcweir inline void SetFollow( const SwPageDesc* pNew ); 210cdf0e10cSrcweir const SwPageDesc* GetFollow() const { return pFollow; } 211cdf0e10cSrcweir SwPageDesc* GetFollow() { return pFollow; } 212cdf0e10cSrcweir 213cdf0e10cSrcweir void SetRegisterFmtColl( const SwTxtFmtColl* rFmt ); 214cdf0e10cSrcweir const SwTxtFmtColl* GetRegisterFmtColl() const; 215cdf0e10cSrcweir void RegisterChange(); 216cdf0e10cSrcweir 217cdf0e10cSrcweir // erfragen und setzen der PoolFormat-Id 218cdf0e10cSrcweir sal_uInt16 GetPoolFmtId() const { return aMaster.GetPoolFmtId(); } 219cdf0e10cSrcweir void SetPoolFmtId( sal_uInt16 nId ) { aMaster.SetPoolFmtId( nId ); } 220cdf0e10cSrcweir sal_uInt16 GetPoolHelpId() const { return aMaster.GetPoolHelpId(); } 221cdf0e10cSrcweir void SetPoolHelpId( sal_uInt16 nId ) { aMaster.SetPoolHelpId( nId ); } 222cdf0e10cSrcweir sal_uInt8 GetPoolHlpFileId() const { return aMaster.GetPoolHlpFileId(); } 223cdf0e10cSrcweir void SetPoolHlpFileId( sal_uInt8 nId ) { aMaster.SetPoolHlpFileId( nId ); } 224cdf0e10cSrcweir 225cdf0e10cSrcweir // erfrage vom Client Informationen 226cdf0e10cSrcweir virtual sal_Bool GetInfo( SfxPoolItem& ) const; 227cdf0e10cSrcweir 228cdf0e10cSrcweir const SwFrmFmt* GetPageFmtOfNode( const SwNode& rNd, 229cdf0e10cSrcweir sal_Bool bCheckForThisPgDc = sal_True ) const; 230cdf0e10cSrcweir sal_Bool IsFollowNextPageOfNode( const SwNode& rNd ) const; 231cdf0e10cSrcweir 232cdf0e10cSrcweir //Given a SwNode return the pagedesc in use at that location. 233cdf0e10cSrcweir static const SwPageDesc* GetPageDescOfNode(const SwNode& rNd); 234cdf0e10cSrcweir 235cdf0e10cSrcweir SwPageDesc& operator=( const SwPageDesc& ); 236cdf0e10cSrcweir 237cdf0e10cSrcweir SwPageDesc( const SwPageDesc& ); 238cdf0e10cSrcweir ~SwPageDesc(); 239cdf0e10cSrcweir }; 240cdf0e10cSrcweir 241cdf0e10cSrcweir inline void SwPageDesc::SetFollow( const SwPageDesc* pNew ) 242cdf0e10cSrcweir { 243cdf0e10cSrcweir pFollow = pNew ? (SwPageDesc*)pNew : this; 244cdf0e10cSrcweir } 245cdf0e10cSrcweir 246cdf0e10cSrcweir inline sal_Bool SwPageDesc::IsHeaderShared() const 247cdf0e10cSrcweir { 248cdf0e10cSrcweir return eUse & nsUseOnPage::PD_HEADERSHARE ? sal_True : sal_False; 249cdf0e10cSrcweir } 250cdf0e10cSrcweir inline sal_Bool SwPageDesc::IsFooterShared() const 251cdf0e10cSrcweir { 252cdf0e10cSrcweir return eUse & nsUseOnPage::PD_FOOTERSHARE ? sal_True : sal_False; 253cdf0e10cSrcweir } 254cdf0e10cSrcweir inline void SwPageDesc::ChgHeaderShare( sal_Bool bNew ) 255cdf0e10cSrcweir { 256cdf0e10cSrcweir if ( bNew ) 257cdf0e10cSrcweir eUse = (UseOnPage) (eUse | nsUseOnPage::PD_HEADERSHARE); 258cdf0e10cSrcweir // (sal_uInt16&)eUse |= (sal_uInt16)nsUseOnPage::PD_HEADERSHARE; 259cdf0e10cSrcweir else 260cdf0e10cSrcweir eUse = (UseOnPage) (eUse & nsUseOnPage::PD_NOHEADERSHARE); 261cdf0e10cSrcweir // (sal_uInt16&)eUse &= (sal_uInt16)nsUseOnPage::PD_NOHEADERSHARE; 262cdf0e10cSrcweir } 263cdf0e10cSrcweir inline void SwPageDesc::ChgFooterShare( sal_Bool bNew ) 264cdf0e10cSrcweir { 265cdf0e10cSrcweir if ( bNew ) 266cdf0e10cSrcweir eUse = (UseOnPage) (eUse | nsUseOnPage::PD_FOOTERSHARE); 267cdf0e10cSrcweir // (sal_uInt16&)eUse |= (sal_uInt16)nsUseOnPage::PD_FOOTERSHARE; 268cdf0e10cSrcweir else 269cdf0e10cSrcweir eUse = (UseOnPage) (eUse & nsUseOnPage::PD_NOFOOTERSHARE); 270cdf0e10cSrcweir // (sal_uInt16&)eUse &= (sal_uInt16)nsUseOnPage::PD_NOFOOTERSHARE; 271cdf0e10cSrcweir } 272cdf0e10cSrcweir inline void SwPageDesc::SetUseOn( UseOnPage eNew ) 273cdf0e10cSrcweir { 274cdf0e10cSrcweir UseOnPage eTmp = nsUseOnPage::PD_NONE; 275cdf0e10cSrcweir if ( eUse & nsUseOnPage::PD_HEADERSHARE ) 276cdf0e10cSrcweir eTmp = nsUseOnPage::PD_HEADERSHARE; 277cdf0e10cSrcweir // (sal_uInt16&)eTmp |= (sal_uInt16)nsUseOnPage::PD_HEADERSHARE; 278cdf0e10cSrcweir if ( eUse & nsUseOnPage::PD_FOOTERSHARE ) 279cdf0e10cSrcweir eTmp = (UseOnPage) (eTmp | nsUseOnPage::PD_FOOTERSHARE); 280cdf0e10cSrcweir // (sal_uInt16&)eTmp |= (sal_uInt16)nsUseOnPage::PD_FOOTERSHARE; 281cdf0e10cSrcweir eUse = (UseOnPage) (eTmp | eNew); 282cdf0e10cSrcweir // (sal_uInt16&)eUse = eTmp | eNew; 283cdf0e10cSrcweir } 284cdf0e10cSrcweir inline UseOnPage SwPageDesc::GetUseOn() const 285cdf0e10cSrcweir { 286cdf0e10cSrcweir UseOnPage eRet = eUse; 287cdf0e10cSrcweir eRet = (UseOnPage) (eRet & nsUseOnPage::PD_NOHEADERSHARE); 288cdf0e10cSrcweir // (sal_uInt16&)eRet &= (sal_uInt16)nsUseOnPage::PD_NOHEADERSHARE; 289cdf0e10cSrcweir eRet = (UseOnPage) (eRet & nsUseOnPage::PD_NOFOOTERSHARE); 290cdf0e10cSrcweir // (sal_uInt16&)eRet &= (sal_uInt16)nsUseOnPage::PD_NOFOOTERSHARE; 291cdf0e10cSrcweir return eRet; 292cdf0e10cSrcweir } 293cdf0e10cSrcweir 294cdf0e10cSrcweir inline void SwPageDesc::ResetAllMasterAttr() 295cdf0e10cSrcweir { 296cdf0e10cSrcweir ResetAllAttr( sal_False ); 297cdf0e10cSrcweir } 298cdf0e10cSrcweir 299cdf0e10cSrcweir inline void SwPageDesc::ResetAllLeftAttr() 300cdf0e10cSrcweir { 301cdf0e10cSrcweir ResetAllAttr( sal_True ); 302cdf0e10cSrcweir } 303cdf0e10cSrcweir 304cdf0e10cSrcweir inline SwFrmFmt *SwPageDesc::GetRightFmt() 305cdf0e10cSrcweir { 306cdf0e10cSrcweir return nsUseOnPage::PD_RIGHT & eUse ? &aMaster : 0; 307cdf0e10cSrcweir } 308cdf0e10cSrcweir inline const SwFrmFmt *SwPageDesc::GetRightFmt() const 309cdf0e10cSrcweir { 310cdf0e10cSrcweir return nsUseOnPage::PD_RIGHT & eUse ? &aMaster : 0; 311cdf0e10cSrcweir } 312cdf0e10cSrcweir inline SwFrmFmt *SwPageDesc::GetLeftFmt() 313cdf0e10cSrcweir { 314cdf0e10cSrcweir return nsUseOnPage::PD_LEFT & eUse ? &aLeft : 0; 315cdf0e10cSrcweir } 316cdf0e10cSrcweir inline const SwFrmFmt *SwPageDesc::GetLeftFmt() const 317cdf0e10cSrcweir { 318cdf0e10cSrcweir return nsUseOnPage::PD_LEFT & eUse ? &aLeft : 0; 319cdf0e10cSrcweir } 320cdf0e10cSrcweir 321cdf0e10cSrcweir class SwPageDescExt 322cdf0e10cSrcweir { 323cdf0e10cSrcweir SwPageDesc aPageDesc; 324cdf0e10cSrcweir SwDoc * pDoc; 325cdf0e10cSrcweir String sFollow; 326cdf0e10cSrcweir 327cdf0e10cSrcweir void SetPageDesc(const SwPageDesc & aPageDesc); 328cdf0e10cSrcweir 329cdf0e10cSrcweir public: 330cdf0e10cSrcweir SwPageDescExt(const SwPageDesc & rPageDesc, SwDoc * pDoc); 331cdf0e10cSrcweir SwPageDescExt(const SwPageDescExt & rSrc); 332cdf0e10cSrcweir ~SwPageDescExt(); 333cdf0e10cSrcweir 334cdf0e10cSrcweir SwPageDescExt & operator = (const SwPageDescExt & rSrc); 335cdf0e10cSrcweir SwPageDescExt & operator = (const SwPageDesc & rSrc); 336cdf0e10cSrcweir 337cdf0e10cSrcweir const String & GetName() const; 338cdf0e10cSrcweir 339cdf0e10cSrcweir operator SwPageDesc() const; // #i7983# 340cdf0e10cSrcweir }; 341cdf0e10cSrcweir 342cdf0e10cSrcweir 343cdf0e10cSrcweir SwPageDesc* GetPageDescByName_Impl(SwDoc& rDoc, const String& rName); 344cdf0e10cSrcweir 345cdf0e10cSrcweir #endif //_PAGEDESC_HXX 346