2 Copyright © 1995-2002, The AROS Development Team. All rights reserved.
6 #define MUIMASTER_YES_INLINE_STDARG
9 #include <aros/debug.h>
11 #include <exec/types.h>
12 #include <intuition/classes.h>
13 #include <intuition/classusr.h>
14 #include <libraries/mui.h>
18 #include "desktop_intern.h"
20 #include <proto/dos.h>
21 #include <proto/intuition.h>
22 #include <proto/utility.h>
24 #include "desktop_intern_protos.h"
26 #include "presentation.h"
28 IPTR
presentationNew(Class
* cl
, Object
* obj
, struct opSet
* msg
)
31 struct PresentationClassData
*data
;
33 *tstate
= msg
->ops_AttrList
;
34 Object
*observer
= NULL
;
36 while ((tag
= NextTagItem(&tstate
)) != NULL
)
41 observer
= (Object
*) tag
->ti_Data
;
45 continue; /* Don't supress non-processed tags */
48 tag
->ti_Tag
= TAG_IGNORE
;
51 retval
= DoSuperMethodA(cl
, obj
, (Msg
) msg
);
54 obj
= (Object
*) retval
;
55 data
= INST_DATA(cl
, obj
);
56 data
->observer
= observer
;
62 IPTR
presentationSet(Class
* cl
, Object
* obj
, struct opSet
* msg
)
64 struct PresentationClassData
*data
;
67 *tstate
= msg
->ops_AttrList
;
69 data
= (struct PresentationClassData
*) INST_DATA(cl
, obj
);
71 while ((tag
= NextTagItem(&tstate
)))
76 data
->observer
= (Object
*) tag
->ti_Data
;
83 retval
= DoSuperMethodA(cl
, obj
, (Msg
) msg
);
88 IPTR
presentationGet(Class
* cl
, Object
* obj
, struct opGet
* msg
)
91 struct PresentationClassData
*data
;
93 data
= (struct PresentationClassData
*) INST_DATA(cl
, obj
);
95 switch (msg
->opg_AttrID
)
98 retval
= DoSuperMethodA(cl
, obj
, (Msg
) msg
);
105 IPTR
presentationDispose(Class
* cl
, Object
* obj
, Msg msg
)
109 SetAttrs(obj
, PA_Disused
, TRUE
, TAG_END
);
111 retval
= DoSuperMethodA(cl
, obj
, msg
);
116 IPTR
parentConnectParent(Class
* cl
, Object
* obj
,
117 struct MUIP_ConnectParent
* msg
)
121 retval
= DoSuperMethodA(cl
, obj
, (Msg
) msg
);
122 SetAttrs(obj
, PA_InTree
, TRUE
, TAG_END
);
126 BOOPSI_DISPATCHER(IPTR
, presentationDispatcher
, cl
, obj
, msg
)
130 switch (msg
->MethodID
)
133 retval
= presentationNew(cl
, obj
, (struct opSet
*) msg
);
136 retval
= presentationSet(cl
, obj
, (struct opSet
*) msg
);
139 retval
= presentationGet(cl
, obj
, (struct opGet
*) msg
);
142 retval
= presentationDispose(cl
, obj
, msg
);
144 case MUIM_ConnectParent
:
146 parentConnectParent(cl
, obj
,
147 (struct MUIP_ConnectParent
*) msg
);
150 retval
= DoSuperMethodA(cl
, obj
, msg
);
156 BOOPSI_DISPATCHER_END