123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- #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
|