Tabs to spaces, more consistent formatting.
[AROS.git] / workbench / libs / muimaster / classes / notify.h
blobe8644523edf6293eb0ef1fd85468d9908b34e9da
1 #ifndef _MUI_CLASSES_NOTIFY_H
2 #define _MUI_CLASSES_NOTIFY_H
4 /*
5 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
6 $Id$
7 */
9 struct MUI_NotifyData
11 struct MUI_GlobalInfo *mnd_GlobalInfo;
12 IPTR mnd_UserData;
13 ULONG mnd_ObjectID;
15 /* private starts here */
16 struct MinList *mnd_NotifyList; /* priv1 */
17 Object *mnd_ParentObject; /* priv2 */
18 STRPTR mnd_HelpNode; /* priv3 */
19 LONG mnd_HelpLine; /* priv4 */
22 /*** Name *******************************************************************/
23 #define MUIC_Notify "Notify.mui"
25 /*** Identifier base (for Zune extensions) **********************************/
26 #define MUIB_Notify (MUIB_ZUNE | 0x00001d00)
28 /*** Methods ****************************************************************/
29 #define MUIM_CallHook (MUIB_MUI | 0x0042b96b) /* MUI: V4 */
30 #define MUIM_Export (MUIB_MUI | 0x00420f1c) /* MUI: V12 */
31 #define MUIM_FindUData (MUIB_MUI | 0x0042c196) /* MUI: V8 */
32 #define MUIM_GetConfigItem (MUIB_MUI | 0x00423edb) /* MUI: V11 */
33 #define MUIM_GetUData (MUIB_MUI | 0x0042ed0c) /* MUI: V8 */
34 #define MUIM_Import (MUIB_MUI | 0x0042d012) /* MUI: V12 */
35 #define MUIM_KillNotify (MUIB_MUI | 0x0042d240) /* MUI: V4 */
36 #define MUIM_KillNotifyObj (MUIB_MUI | 0x0042b145) /* MUI: V16 */
37 #define MUIM_MultiSet (MUIB_MUI | 0x0042d356) /* MUI: V7 */
38 #define MUIM_NoNotifySet (MUIB_MUI | 0x0042216f) /* MUI: V9 */
39 #define MUIM_Notify (MUIB_MUI | 0x0042c9cb) /* MUI: V4 */
40 #define MUIM_Set (MUIB_MUI | 0x0042549a) /* MUI: V4 */
41 #define MUIM_SetAsString (MUIB_MUI | 0x00422590) /* MUI: V4 */
42 #define MUIM_SetUData (MUIB_MUI | 0x0042c920) /* MUI: V8 */
43 #define MUIM_SetUDataOnce (MUIB_MUI | 0x0042ca19) /* MUI: V11 */
44 #define MUIM_WriteLong (MUIB_MUI | 0x00428d86) /* MUI: V6 */
45 #define MUIM_WriteString (MUIB_MUI | 0x00424bf4) /* MUI: V6 */
47 struct MUIP_CallHook
49 STACKED ULONG MethodID;
50 STACKED struct Hook *Hook;
51 STACKED IPTR param1; /* more might follow */
54 struct MUIP_Export
56 STACKED ULONG MethodID;
57 STACKED Object *dataspace;
60 struct MUIP_FindUData
62 STACKED ULONG MethodID;
63 STACKED IPTR udata;
66 struct MUIP_GetConfigItem
68 STACKED ULONG MethodID;
69 STACKED ULONG id;
70 STACKED IPTR *storage;
73 struct MUIP_GetUData
75 STACKED ULONG MethodID;
76 STACKED ULONG udata;
77 STACKED ULONG attr;
78 STACKED IPTR *storage;
81 struct MUIP_Import
83 STACKED ULONG MethodID;
84 STACKED Object *dataspace;
87 struct MUIP_KillNotify
89 STACKED ULONG MethodID;
90 STACKED ULONG TrigAttr;
93 struct MUIP_KillNotifyObj
95 STACKED ULONG MethodID;
96 STACKED ULONG TrigAttr;
97 STACKED Object *dest;
100 struct MUIP_MultiSet
102 STACKED ULONG MethodID;
103 STACKED ULONG attr;
104 STACKED IPTR val;
105 STACKED APTR obj; /* more might follow */
108 struct MUIP_NoNotifySet
110 STACKED ULONG MethodID;
111 STACKED ULONG attr;
112 STACKED IPTR val; /* more might follow */
115 struct MUIP_Notify
117 STACKED ULONG MethodID;
118 STACKED ULONG TrigAttr;
119 STACKED IPTR TrigVal;
120 STACKED APTR DestObj;
121 STACKED ULONG FollowParams; /* more might follow */
124 struct MUIP_Set
126 STACKED ULONG MethodID;
127 STACKED ULONG attr;
128 STACKED IPTR val;
131 struct MUIP_SetAsString
133 STACKED ULONG MethodID;
134 STACKED ULONG attr;
135 STACKED char *format;
136 STACKED IPTR val; /* more might follow */
139 struct MUIP_SetUData
141 STACKED ULONG MethodID;
142 STACKED IPTR udata;
143 STACKED ULONG attr;
144 STACKED IPTR val;
147 struct MUIP_SetUDataOnce
149 STACKED ULONG MethodID;
150 STACKED IPTR udata;
151 STACKED ULONG attr;
152 STACKED IPTR val;
155 struct MUIP_WriteLong
157 STACKED ULONG MethodID;
158 STACKED ULONG val;
159 STACKED ULONG *memory;
162 struct MUIP_WriteString
164 STACKED ULONG MethodID;
165 STACKED char *str;
166 STACKED char *memory;
169 #define MUIM_ConnectParent (MUIB_Notify | 0x00000000) /* Zune: V1 */
170 #define MUIM_DisconnectParent (MUIB_Notify | 0x00000001) /* Zune: V1 */
172 struct MUIP_ConnectParent
174 STACKED ULONG MethodID;
175 STACKED Object *parent;
178 struct MUIP_DisconnectParent
180 STACKED ULONG MethodID;
183 /*** Attributes *************************************************************/
184 #define MUIA_ApplicationObject \
185 (MUIB_MUI | 0x0042d3ee) /* MUI: V4 ..g Object * */
186 #define MUIA_AppMessage \
187 (MUIB_MUI | 0x00421955) /* MUI: V5 ..g struct AppMessage * */
188 #define MUIA_HelpLine \
189 (MUIB_MUI | 0x0042a825) /* MUI: V4 isg LONG */
190 #define MUIA_HelpNode \
191 (MUIB_MUI | 0x00420b85) /* MUI: V4 isg STRPTR */
192 #define MUIA_NoNotify \
193 (MUIB_MUI | 0x004237f9) /* MUI: V7 .s. BOOL */
194 #define MUIA_ObjectID \
195 (MUIB_MUI | 0x0042d76e) /* MUI: V11 isg ULONG */
196 #define MUIA_Parent \
197 (MUIB_MUI | 0x0042e35f) /* MUI: V11 ..g Object * */
198 #define MUIA_Revision \
199 (MUIB_MUI | 0x00427eaa) /* MUI: V4 ..g LONG */
200 #define MUIA_UserData \
201 (MUIB_MUI | 0x00420313) /* MUI: V4 isg ULONG */
202 #define MUIA_Version \
203 (MUIB_MUI | 0x00422301) /* MUI: V4 ..g LONG */
205 /* Special values for MUIM_Notify */
206 #define MUIV_TriggerValue 0x49893131UL
207 #define MUIV_NotTriggerValue 0x49893133UL
208 #define MUIV_EveryTime 0x49893131UL /* as TrigVal */
210 enum
212 MUIV_Notify_Self = 1,
213 MUIV_Notify_Window,
214 MUIV_Notify_Application,
215 MUIV_Notify_Parent,
218 extern const struct __MUIBuiltinClass _MUI_Notify_desc; /* PRIV */
220 /* Private stuff */
222 #define _parent(obj) (muiNotifyData(obj)->mnd_ParentObject) /* Shortcut */
225 #endif /* _MUI_CLASSES_NOTIFY_H */