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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
#ifndef _PSLIDER_H
#define _PSLIDER_H
#include <api/wnd/wndclass/slider.h>
#include <api/script/objects/guiobj.h>
#include <api/skin/widgets.h>
#define PSLIDER_PARENT SliderWnd
class SliderScriptController : public GuiObjectScriptController {
public:
virtual const wchar_t *getClassName();
virtual const wchar_t *getAncestorClassName();
virtual ScriptObjectController *getAncestorController() { return guiController; }
virtual int getNumFunctions();
virtual const function_descriptor_struct *getExportedFunctions();
virtual GUID getClassGuid();
virtual ScriptObject *instantiate();
virtual void destroy(ScriptObject *o);
virtual void *encapsulate(ScriptObject *o);
virtual void deencapsulate(void *o);
private:
static function_descriptor_struct exportedFunction[];
};
extern SliderScriptController *sliderController;
class PSliderWnd : public PSLIDER_PARENT {
public:
PSliderWnd();
virtual ~PSliderWnd();
virtual int onSetPosition();
virtual int onSetFinalPosition();
virtual int onPostedPosition(int p);
virtual void lock();
virtual void unlock();
virtual int setXuiParam(int _xuihandle, int attribid, const wchar_t *paramname, const wchar_t *strvalue);
virtual const wchar_t *vcpu_getClassName();
virtual ScriptObjectController *vcpu_getController() { return sliderController; }
/* virtual int getAutoHeight();
virtual int getAutoWidth();*/
virtual int onInit();
#ifdef WASABI_COMPILE_CONFIG
virtual int onReloadConfig();
void reloadConfig();
#endif
virtual int scriptDivisor() { return 1; }
enum {
PSLIDER_SETBARLEFT=0,
PSLIDER_SETBARMIDDLE,
PSLIDER_SETBARRIGHT,
PSLIDER_SETTHUMB,
PSLIDER_SETDOWNTHUMB,
PSLIDER_SETHOVERTHUMB,
PSLIDER_SETORIENTATION,
PSLIDER_SETLOW,
PSLIDER_SETHIGH,
PSLIDER_SETHOTPOS,
PSLIDER_SETHOTRANGE,
PSLIDER_SETSTRETCHTHUMB,
PSLIDER_NUMPARAMS,
};
protected:
/*static */void CreateXMLParameters(int master_handle);
public:
static scriptVar script_setPosition(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar v);
static scriptVar script_getPosition(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar script_onSetPosition(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar p);
static scriptVar script_onPostedPosition(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar p);
static scriptVar script_onSetFinalPosition(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar p);
static scriptVar script_lock(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar script_unlock(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
private:
int xuihandle;
static XMLParamPair params[];
};
class SliderXuiSvc : public svc_xuiObjectI {
public:
SliderXuiSvc() {};
virtual ~SliderXuiSvc() {};
static const char *getServiceName() { return "Slider xui object"; }
static const wchar_t *xuisvc_getXmlTag() { return L"Slider"; }
virtual int testTag(const wchar_t *xmltag) { return !WCSICMP(xmltag, L"Slider"); }
virtual GuiObject *instantiate(const wchar_t *xmltag, ifc_xmlreaderparams *params=NULL);
virtual void destroy(GuiObject *g);
};
#endif
|