blob: 38b187d505322343e07d69ce619e34e7105cf7dd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
#ifndef __EMBEDDEDXUIOBJECT_H
#define __EMBEDDEDXUIOBJECT_H
#include <wasabicfg.h>
#include <api/script/api_maki.h>
#include <api/wnd/wndclass/guiobjwnd.h>
#include <api/script/scriptguid.h>
#include <api/script/scriptobj.h>
#include <api/script/objcontroller.h>
#define EMBEDDEDXUIOBJECT_PARENT GuiObjectWnd
class EmbeddedXuiObjectParam {
public:
EmbeddedXuiObjectParam(const wchar_t *p, const wchar_t *v) : param(p), value(v) {}
virtual ~EmbeddedXuiObjectParam() {}
StringW param;
StringW value;
};
class EmbeddedXuiObject : public EMBEDDEDXUIOBJECT_PARENT {
public:
EmbeddedXuiObject();
virtual ~EmbeddedXuiObject();
virtual void onNewContent();
virtual int onInit();
virtual void embeddedxui_onNewEmbeddedContent();
virtual const wchar_t *embeddedxui_getContentId() { return NULL; }
virtual const wchar_t *embeddedxui_getEmbeddedObjectId() { return NULL; }
virtual int onUnknownXuiParam(const wchar_t *xmlattributename, const wchar_t *value);
#ifdef WASABI_COMPILE_CONFIG
virtual int onReloadConfig();
#endif
virtual GuiObject *embeddedxui_getEmbeddedObject() { return embedded; }
private:
#ifdef WASABI_COMPILE_CONFIG
void syncCfgAttrib();
#endif
int myxuihandle;
PtrList<EmbeddedXuiObjectParam> paramlist;
GuiObject *embedded;
};
// -----------------------------------------------------------------------
class EmbeddedXuiScriptController: public ScriptObjectControllerI
{
public:
virtual const wchar_t *getClassName() { return L"ObjectEmbedder"; }
virtual const wchar_t *getAncestorClassName() { return L"GuiObject"; }
virtual ScriptObjectController *getAncestorController();
virtual int getNumFunctions();
virtual const function_descriptor_struct *getExportedFunctions();
virtual GUID getClassGuid() { return embeddedXuiGuid; }
virtual ScriptObject *instantiate();
virtual void destroy(ScriptObject *o);
virtual void *encapsulate(ScriptObject *o);
virtual void deencapsulate(void *o);
virtual ScriptObject *cast(ScriptObject *o, GUID g);
private:
static function_descriptor_struct exportedFunction[];
static scriptVar EmbeddedXui_getEmbeddedObject(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
};
extern COMEXP EmbeddedXuiScriptController *embeddedXuiController;
#endif
|