update dev300-m57
[ooovba.git] / sfx2 / source / dialog / tplpitem.cxx
blob5b7a8d796a16f80e7b28d82d075244e204bdaa2c
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: tplpitem.cxx,v $
10 * $Revision: 1.11 $
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 ************************************************************************/
31 // MARKER(update_precomp.py): autogen include statement, do not remove
32 #include "precompiled_sfx2.hxx"
34 // INCLUDE ---------------------------------------------------------------
36 #ifndef GCC
37 #endif
39 #include "tplpitem.hxx"
40 #include <com/sun/star/frame/status/Template.hpp>
43 // STATIC DATA -----------------------------------------------------------
45 TYPEINIT1_AUTOFACTORY(SfxTemplateItem, SfxFlagItem);
47 //=========================================================================
49 SfxTemplateItem::SfxTemplateItem() :
50 SfxFlagItem()
54 SfxTemplateItem::SfxTemplateItem
56 USHORT nWhichId, // Slot-ID
57 const String& rStyle, // Name des aktuellen Styles
58 USHORT nValue // Flags f"ur das Filtern bei automatischer Anzeige
59 ) : SfxFlagItem( nWhichId, nValue ),
60 aStyle( rStyle )
64 //-------------------------------------------------------------------------
66 // copy ctor
67 SfxTemplateItem::SfxTemplateItem( const SfxTemplateItem& rCopy ) :
69 SfxFlagItem( rCopy ),
71 aStyle( rCopy.aStyle )
75 //-------------------------------------------------------------------------
77 // op ==
79 int SfxTemplateItem::operator==( const SfxPoolItem& rCmp ) const
81 return ( SfxFlagItem::operator==( rCmp ) &&
82 aStyle == ( (const SfxTemplateItem&)rCmp ).aStyle );
85 //-------------------------------------------------------------------------
87 SfxPoolItem* SfxTemplateItem::Clone( SfxItemPool *) const
89 return new SfxTemplateItem(*this);
92 //-------------------------------------------------------------------------
93 sal_Bool SfxTemplateItem::QueryValue( com::sun::star::uno::Any& rVal, BYTE /*nMemberId*/ ) const
95 ::com::sun::star::frame::status::Template aTemplate;
97 aTemplate.Value = GetValue();
98 aTemplate.StyleName = aStyle;
99 rVal <<= aTemplate;
101 return sal_True;
104 //-------------------------------------------------------------------------
105 sal_Bool SfxTemplateItem::PutValue( const com::sun::star::uno::Any& rVal, BYTE /*nMemberId*/ )
107 ::com::sun::star::frame::status::Template aTemplate;
109 if ( rVal >>= aTemplate )
111 SetValue( sal::static_int_cast< USHORT >( aTemplate.Value ) );
112 aStyle = aTemplate.StyleName;
113 return sal_True;
116 return sal_False;
119 //-------------------------------------------------------------------------
121 BYTE SfxTemplateItem::GetFlagCount() const
123 return sizeof(USHORT) * 8;