sync master with lastest vba changes
[ooovba.git] / binfilter / inc / bf_svtools / dateitem.hxx
blob1281467a87c577a7719fbcb35981c0f1a4120dc0
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: dateitem.hxx,v $
10 * $Revision: 1.4 $
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 _DATETIMEITEM_HXX
31 #define _DATETIMEITEM_HXX
33 #ifndef _RTTI_HXX
34 #include <tools/rtti.hxx>
35 #endif
37 #ifndef _DATETIME_HXX
38 #include <tools/datetime.hxx>
39 #endif
41 #include <bf_svtools/poolitem.hxx>
43 class SvStream;
45 namespace binfilter {
48 DBG_NAMEEX(SfxDateTimeItem)
50 // class SfxDateTimeItem -------------------------------------------------
52 class SfxDateTimeItem : public SfxPoolItem
54 private:
55 DateTime aDateTime;
57 public:
58 TYPEINFO();
60 SfxDateTimeItem( USHORT nWhich,
61 const DateTime& rDT );
62 SfxDateTimeItem( const SfxDateTimeItem& rCpy );
64 ~SfxDateTimeItem() {
65 DBG_DTOR(SfxDateTimeItem, 0); }
67 virtual int operator==( const SfxPoolItem& ) const;
68 using SfxPoolItem::Compare;
69 virtual int Compare( const SfxPoolItem &rWith ) const;
70 virtual SfxPoolItem* Create( SvStream&, USHORT nItemVersion ) const;
71 virtual SvStream& Store( SvStream&, USHORT nItemVersion ) const;
72 virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const;
74 virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
75 SfxMapUnit eCoreMetric,
76 SfxMapUnit ePresMetric,
77 XubString &rText,
78 const ::IntlWrapper * pIntlWrapper = 0 )
79 const;
81 const DateTime& GetDateTime() const { return aDateTime; }
82 void SetDateTime( const DateTime& rDT ) {
83 DBG_ASSERT( GetRefCount() == 0,
84 "SetDateTime() with pooled item" );
85 aDateTime = rDT; }
87 virtual BOOL PutValue ( const ::com::sun::star::uno::Any& rVal,
88 BYTE nMemberId = 0 );
89 virtual BOOL QueryValue( ::com::sun::star::uno::Any& rVal,
90 BYTE nMemberId = 0 ) const;
93 class SfxColumnDateTimeItem : public SfxDateTimeItem
95 public:
96 TYPEINFO();
98 ~SfxColumnDateTimeItem() {}
100 virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const;
102 virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
103 SfxMapUnit eCoreMetric,
104 SfxMapUnit ePresMetric,
105 XubString &rText,
106 const ::IntlWrapper * pIntlWrapper = 0 )
107 const;
112 #endif