12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- #ifndef __XUIFRAME_H
- #define __XUIFRAME_H
- #include <api/wnd/wndclass/framewnd.h>
- #include <api/script/objects/guiobj.h>
- #define SCRIPTFRAME_PARENT FrameWnd
- /* --------- Script Object for ScriptFrame --------- */
- class FrameScriptController : 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 FrameScriptController *frameController;
- // -----------------------------------------------------------------------
- // Your wnd object class
- class ScriptFrame : public SCRIPTFRAME_PARENT {
-
- public:
- ScriptFrame();
- virtual ~ScriptFrame();
- virtual int onInit();
- virtual int setXuiParam(int xuihandle, int xmlattributeid, const wchar_t *xmlattributename, const wchar_t *value);
- void setOrientation(const wchar_t *elementname);
- void setLeft(const wchar_t *groupname);
- void setRight(const wchar_t *groupname);
- void setFrom(const wchar_t *from);
- void setWidth(const wchar_t *w);
- void setResize(const wchar_t *r);
- virtual int wantRenderBaseTexture() { return 0; }
- void onResizeChildren(RECT leftr, RECT rightr);
- virtual const wchar_t *vcpu_getClassName();
- virtual ScriptObjectController *vcpu_getController() { return frameController; }
- protected:
- /*static */void CreateXMLParameters(int master_handle);
- private:
- // a list of IDs for our xml attributes, we use them in addParam() in the constructor
- enum {
- SCRIPTFRAME_SETORIENTATION = 0,
- SCRIPTFRAME_SETLEFT,
- SCRIPTFRAME_SETRIGHT,
- SCRIPTFRAME_SETFROM,
- SCRIPTFRAME_SETWIDTH,
- SCRIPTFRAME_SETRESIZEABLE,
- SCRIPTFRAME_SETMAXWIDTH,
- SCRIPTFRAME_SETMINWIDTH,
- SCRIPTFRAME_SETSNAP,
- SCRIPTFRAME_SETV_BITMAP,
- SCRIPTFRAME_SETV_GRABBER,
- };
- static XMLParamPair params[];
- int myxuihandle;
- StringW left, right;
- ifc_window *rootwndleft, *rootwndright;
- int from, orientation, resizable;
- int width;
- public:
- static scriptVar script_vcpu_setPosition(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar t);
- static scriptVar script_vcpu_getPosition(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
- };
- // -----------------------------------------------------------------------
- // This defines the svc_xuiObject that exposes your wnd object
- extern const wchar_t ScriptFrameXuiObjectStr[];
- extern char ScriptFrameXuiSvcName[];
- class FrameXuiSvc : public XuiObjectSvc<ScriptFrame, ScriptFrameXuiObjectStr, ScriptFrameXuiSvcName> {};
- #endif
|