Update ooo320-m1
[ooovba.git] / binfilter / inc / bf_svx / protitem.hxx
blob5a7e4a2973ac932b85b2276b1bb1250158ad9aca
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.8 $
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 ---------------------------------------------------------------
35 #ifndef _SFXPOOLITEM_HXX //autogen
36 #include <bf_svtools/poolitem.hxx>
37 #endif
39 namespace rtl
41 class OUString;
43 namespace binfilter {
44 class SvXMLUnitConverter;
46 // class SvxProtectItem --------------------------------------------------
49 [Beschreibung]
50 Dieses Item beschreibt, ob Inhalt, Groesse oder Position geschuetzt werden
51 sollen.
54 class 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 = ITEMID_PROTECT );
64 inline SvxProtectItem &operator=( const SvxProtectItem &rCpy );
66 // "pure virtual Methoden" vom SfxPoolItem
67 virtual int operator==( const SfxPoolItem& ) const;
70 virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
71 virtual SfxPoolItem* Create(SvStream &, USHORT) const;
72 virtual SvStream& Store(SvStream &, USHORT nItemVersion ) const;
74 BOOL IsCntntProtected() const { return bCntnt; }
75 BOOL IsSizeProtected() const { return bSize; }
76 BOOL IsPosProtected() const { return bPos; }
77 void SetCntntProtect( BOOL bNew ) { bCntnt = bNew; }
78 void SetSizeProtect ( BOOL bNew ) { bSize = bNew; }
79 void SetPosProtect ( BOOL bNew ) { bPos = bNew; }
81 virtual sal_Bool QueryValue( ::com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
82 virtual sal_Bool PutValue( const ::com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
85 inline SvxProtectItem::SvxProtectItem( const USHORT nId )
86 : SfxPoolItem( nId )
88 bCntnt = bSize = bPos = FALSE;
91 inline SvxProtectItem &SvxProtectItem::operator=( const SvxProtectItem &rCpy )
93 bCntnt = rCpy.IsCntntProtected();
94 bSize = rCpy.IsSizeProtected();
95 bPos = rCpy.IsPosProtected();
96 return *this;
99 }//end of namespace binfilter
100 #endif