Update ooo320-m1
[ooovba.git] / svx / inc / protitem.hxx
blobfc8ddbab23abf5c56946e5c30ae3710b2df2927b
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: protitem.hxx,v $
10 * $Revision: 1.9 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef _SVX_PROTITEM_HXX
31 #define _SVX_PROTITEM_HXX
33 // include ---------------------------------------------------------------
36 #include <svtools/poolitem.hxx>
37 #include "svx/svxdllapi.h"
39 class SvXMLUnitConverter;
40 namespace rtl
42 class OUString;
45 // class SvxProtectItem --------------------------------------------------
49 [Beschreibung]
50 Dieses Item beschreibt, ob Inhalt, Groesse oder Position geschuetzt werden
51 sollen.
54 class SVX_DLLPUBLIC SvxProtectItem : public SfxPoolItem
56 BOOL bCntnt :1; //Inhalt geschuetzt
57 BOOL bSize :1; //Groesse geschuetzt
58 BOOL bPos :1; //Position geschuetzt
60 public:
61 TYPEINFO();
63 inline SvxProtectItem( const USHORT nId );
64 inline SvxProtectItem &operator=( const SvxProtectItem &rCpy );
66 // "pure virtual Methoden" vom SfxPoolItem
67 virtual int operator==( const SfxPoolItem& ) const;
69 virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
70 SfxMapUnit eCoreMetric,
71 SfxMapUnit ePresMetric,
72 String &rText, const IntlWrapper * = 0 ) const;
75 virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
76 virtual SfxPoolItem* Create(SvStream &, USHORT) const;
77 virtual SvStream& Store(SvStream &, USHORT nItemVersion ) const;
79 BOOL IsCntntProtected() const { return bCntnt; }
80 BOOL IsSizeProtected() const { return bSize; }
81 BOOL IsPosProtected() const { return bPos; }
82 void SetCntntProtect( BOOL bNew ) { bCntnt = bNew; }
83 void SetSizeProtect ( BOOL bNew ) { bSize = bNew; }
84 void SetPosProtect ( BOOL bNew ) { bPos = bNew; }
86 virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
87 virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
90 inline SvxProtectItem::SvxProtectItem( const USHORT nId )
91 : SfxPoolItem( nId )
93 bCntnt = bSize = bPos = FALSE;
96 inline SvxProtectItem &SvxProtectItem::operator=( const SvxProtectItem &rCpy )
98 bCntnt = rCpy.IsCntntProtected();
99 bSize = rCpy.IsSizeProtected();
100 bPos = rCpy.IsPosProtected();
101 return *this;
107 #endif