sync master with lastest vba changes
[ooovba.git] / binfilter / inc / bf_svtools / smplhint.hxx
blobf8ef4d6c4788fc3c5f390abccc59cbae1f69b686
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: smplhint.hxx,v $
10 * $Revision: 1.3 $
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 _SFXSMPLHINT_HXX
31 #define _SFXSMPLHINT_HXX
33 #ifndef _SFXHINT_HXX
34 #include <bf_svtools/hint.hxx>
35 #endif
37 #ifndef _RTTI_HXX
38 #include <tools/rtti.hxx>
39 #endif
41 namespace binfilter
45 #define SFX_HINT_DYING 0x00000001
46 #define SFX_HINT_NAMECHANGED 0x00000002
47 #define SFX_HINT_TITLECHANGED 0x00000004
48 #define SFX_HINT_DATACHANGED 0x00000008
49 #define SFX_HINT_DOCCHANGED 0x00000010
50 #define SFX_HINT_UPDATEDONE 0x00000020
51 #define SFX_HINT_DEINITIALIZING 0x00000040
52 #define SFX_HINT_MODECHANGED 0x00000080
53 #define SFX_HINT_CANCELLABLE 0x00000100
54 #define SFX_HINT_DATAAVAILABLE 0x00000200
55 #define SFX_HINT_SAVECOMPLETED 0x00000400
56 #define SFX_HINT_RELEASEREF 0x00000800
57 #define SFX_HINT_COLORS_CHANGED 0x00001000
58 #define SFX_HINT_CTL_SETTINGS_CHANGED 0x00002000
59 #define SFX_HINT_ACCESSIBILITY_CHANGED 0x00004000
60 #define SFX_HINT_VIEWCREATED 0x00008000
61 #define SFX_HINT_USER00 0x00010000
62 #define SFX_HINT_USER01 0x00020000
63 #define SFX_HINT_USER02 0x00040000
64 #define SFX_HINT_USER03 0x00080000
65 #define SFX_HINT_USER04 0x00100000
66 #define SFX_HINT_USER05 0x00200000
67 #define SFX_HINT_USER06 0x00400000
68 #define SFX_HINT_USER07 0x00800000
69 #define SFX_HINT_USER08 0x01000000
70 #define SFX_HINT_USER09 0x02000000
71 #define SFX_HINT_USER10 0x04000000
72 #define SFX_HINT_USER11 0x08000000
73 #define SFX_HINT_USER12 0x10000000
74 #define SFX_HINT_USER13 0x20000000
75 #define SFX_HINT_UNDO_OPTIONS_CHANGED 0x40000000
76 #define SFX_HINT_USER_OPTIONS_CHANGED 0x80000000
77 #define SFX_HINT_ALL 0xFFFFFFFF
79 class SfxSimpleHint: public SfxHint
81 private:
82 ULONG nId;
83 public:
84 TYPEINFO();
85 SfxSimpleHint( ULONG nId );
86 ULONG GetId() const { return nId; }
89 //--------------------------------------------------------------------
91 #define DECL_OBJHINT(Name, Type) \
92 class Name: public SfxSimpleHint \
93 { \
94 Type aObj; \
96 public: \
97 TYPEINFO(); \
98 Name( USHORT nId, const Type& rObject ); \
99 ~Name(); \
100 const Type& GetObject() const { return aObj; } \
103 #define IMPL_OBJHINT(Name, Type) \
104 TYPEINIT1(Name, SfxSimpleHint); \
105 Name::Name( USHORT nID, const Type& rObject ): \
106 SfxSimpleHint( nID ), aObj(rObject) \
107 { } \
108 Name::~Name() {}
112 #endif