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 #ifndef _FMTANCHR_HXX 28*cdf0e10cSrcweir #define _FMTANCHR_HXX 29*cdf0e10cSrcweir 30*cdf0e10cSrcweir #include "swdllapi.h" 31*cdf0e10cSrcweir #include <hintids.hxx> 32*cdf0e10cSrcweir #include <swtypes.hxx> 33*cdf0e10cSrcweir #include <format.hxx> 34*cdf0e10cSrcweir #include <svl/poolitem.hxx> 35*cdf0e10cSrcweir 36*cdf0e10cSrcweir struct SwPosition; 37*cdf0e10cSrcweir class IntlWrapper; 38*cdf0e10cSrcweir #define IVER_FMTANCHOR_LONGIDX ((sal_uInt16)1) 39*cdf0e10cSrcweir 40*cdf0e10cSrcweir //FlyAnchor, Anker des Freifliegenden Rahmen ---- 41*cdf0e10cSrcweir 42*cdf0e10cSrcweir class SW_DLLPUBLIC SwFmtAnchor: public SfxPoolItem 43*cdf0e10cSrcweir { 44*cdf0e10cSrcweir SwPosition *pCntntAnchor; //0 Fuer Seitengebundene Rahmen. 45*cdf0e10cSrcweir //Index fuer Absatzgebundene Rahmen. 46*cdf0e10cSrcweir //Position fuer Zeichengebundene Rahmen 47*cdf0e10cSrcweir RndStdIds nAnchorId; 48*cdf0e10cSrcweir sal_uInt16 nPageNum; //Seitennummer bei Seitengeb. Rahmen. 49*cdf0e10cSrcweir 50*cdf0e10cSrcweir // OD 2004-05-05 #i28701# - getting anchor positions ordered 51*cdf0e10cSrcweir sal_uInt32 mnOrder; 52*cdf0e10cSrcweir static sal_uInt32 mnOrderCounter; 53*cdf0e10cSrcweir 54*cdf0e10cSrcweir public: 55*cdf0e10cSrcweir SwFmtAnchor( RndStdIds eRnd = FLY_AT_PAGE, sal_uInt16 nPageNum = 0 ); 56*cdf0e10cSrcweir SwFmtAnchor( const SwFmtAnchor &rCpy ); 57*cdf0e10cSrcweir ~SwFmtAnchor(); 58*cdf0e10cSrcweir 59*cdf0e10cSrcweir // Zuweisungsoperator 60*cdf0e10cSrcweir SwFmtAnchor &operator=( const SwFmtAnchor& ); 61*cdf0e10cSrcweir 62*cdf0e10cSrcweir // "pure virtual Methoden" vom SfxPoolItem 63*cdf0e10cSrcweir virtual int operator==( const SfxPoolItem& ) const; 64*cdf0e10cSrcweir virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; 65*cdf0e10cSrcweir virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, 66*cdf0e10cSrcweir SfxMapUnit eCoreMetric, 67*cdf0e10cSrcweir SfxMapUnit ePresMetric, 68*cdf0e10cSrcweir String &rText, 69*cdf0e10cSrcweir const IntlWrapper* pIntl = 0 ) const; 70*cdf0e10cSrcweir 71*cdf0e10cSrcweir virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const; 72*cdf0e10cSrcweir virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ); 73*cdf0e10cSrcweir 74*cdf0e10cSrcweir RndStdIds GetAnchorId() const { return nAnchorId; } 75*cdf0e10cSrcweir sal_uInt16 GetPageNum() const { return nPageNum; } 76*cdf0e10cSrcweir const SwPosition *GetCntntAnchor() const { return pCntntAnchor; } 77*cdf0e10cSrcweir // OD 2004-05-05 #i28701# 78*cdf0e10cSrcweir sal_uInt32 GetOrder() const; 79*cdf0e10cSrcweir 80*cdf0e10cSrcweir void SetType( RndStdIds nRndId ) { nAnchorId = nRndId; } 81*cdf0e10cSrcweir void SetPageNum( sal_uInt16 nNew ) { nPageNum = nNew; } 82*cdf0e10cSrcweir void SetAnchor( const SwPosition *pPos ); 83*cdf0e10cSrcweir }; 84*cdf0e10cSrcweir 85*cdf0e10cSrcweir inline const SwFmtAnchor &SwAttrSet::GetAnchor(sal_Bool bInP) const 86*cdf0e10cSrcweir { return static_cast<const SwFmtAnchor&>(Get(RES_ANCHOR, bInP)); } 87*cdf0e10cSrcweir 88*cdf0e10cSrcweir inline const SwFmtAnchor &SwFmt::GetAnchor(sal_Bool bInP) const 89*cdf0e10cSrcweir { return aSet.GetAnchor(bInP); } 90*cdf0e10cSrcweir 91*cdf0e10cSrcweir #endif 92*cdf0e10cSrcweir 93