From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Wasabi/api/script/objects/guiobject.h | 855 ++++++++++++++++++++++++++++++ 1 file changed, 855 insertions(+) create mode 100644 Src/Wasabi/api/script/objects/guiobject.h (limited to 'Src/Wasabi/api/script/objects/guiobject.h') diff --git a/Src/Wasabi/api/script/objects/guiobject.h b/Src/Wasabi/api/script/objects/guiobject.h new file mode 100644 index 00000000..f4cccfa2 --- /dev/null +++ b/Src/Wasabi/api/script/objects/guiobject.h @@ -0,0 +1,855 @@ +#ifndef __GUIOBJECT_H +#define __GUIOBJECT_H + +#include +#include +#include + +class ifc_window; +class ScriptObject; // scriptobj.h +class GuiObject; // this file +class RootObject; // rootobj.h +class svc_xuiObject; // studio/services/svc_xuiobject.h +class GuiStatusCallback; +class AppCmds; +class CfgItem; +class FindObjectCallback; + +class Group; +class Layout; + +class GuiObject : public Dispatchable +{ +public: + + ifc_window *guiobject_getRootWnd(); + void guiobject_setRootWnd(ifc_window *w); + void guiobject_onInit(); + + void guiobject_getGuiPosition(int *x, int *y, int *w, int *h, int *rx, int *ry, int *rw, int *rh); + void guiobject_setGuiPosition(int *x, int *y, int *w, int *h, int *rx, int *ry, int *rw, int *rh); + int guiobject_getAnchoragePosition(int *x1, int *x2, int *y1, int *y2, int *anchor); // returns anchor invalidation flag + void guiobject_setAnchoragePosition(int *x1, int *x2, int *y1, int *y2, int *anchor); + void guiobject_validateAnchorage(); // clears up anchor invalidation flag + void guiobject_setParentGroup(Group *l); + ScriptObject *guiobject_getScriptObject(); + RootObject *guiobject_getRootObject(); + Group *guiobject_getParentGroup(); + GuiObject *guiobject_getParent(); + Layout *guiobject_getParentLayout(); + + int guiobject_wantAutoContextMenu(); + + void guiobject_setId(const wchar_t *id); + const wchar_t *guiobject_getId(); + + void guiobject_setTargetX(int tx); + void guiobject_setTargetY(int ty); + void guiobject_setTargetW(int tw); + void guiobject_setTargetH(int th); + void guiobject_setTargetA(int th); + void guiobject_setTargetSpeed(float s); + void guiobject_gotoTarget(void); + void guiobject_cancelTarget(); + void guiobject_reverseTarget(int reverse); + + int guiobject_getAutoWidth(); + int guiobject_getAutoHeight(); + int guiobject_movingToTarget(); + + void guiobject_bringToFront(); + void guiobject_bringToBack(); + void guiobject_bringAbove(GuiObject *o); + void guiobject_bringBelow(GuiObject *o); + + void guiobject_setClickThrough(int ct); + int guiobject_isClickThrough(); + + void guiobject_setAutoSysMetricsX(int a); + void guiobject_setAutoSysMetricsY(int a); + void guiobject_setAutoSysMetricsW(int a); + void guiobject_setAutoSysMetricsH(int a); + int guiobject_getAutoSysMetricsX(); + int guiobject_getAutoSysMetricsY(); + int guiobject_getAutoSysMetricsW(); + int guiobject_getAutoSysMetricsH(); + + void guiobject_setRegionOp(int op); + int guiobject_getRegionOp(); + void guiobject_setRectRgn(int rrgn); + int guiobject_isRectRgn(); + + void guiobject_setMover(int mover); + int guiobject_getMover(); + + FOURCC guiobject_getDropTarget(); + void guiobject_setDropTarget(const wchar_t *target); + + void guiobject_onLeftButtonDown(int x, int y); + void guiobject_onLeftButtonUp(int x, int y); + void guiobject_onRightButtonDown(int x, int y); + void guiobject_onRightButtonUp(int x, int y); + void guiobject_onLeftButtonDblClk(int x, int y); + void guiobject_onRightButtonDblClk(int x, int y); + void guiobject_onMouseMove(int x, int y); + int guiobject_onMouseWheelUp(int click, int lines); // Need to return 1 if handled + int guiobject_onMouseWheelDown(int click, int lines); // Need to return 1 if handled + void guiobject_onEnterArea(); + void guiobject_onLeaveArea(); + void guiobject_onCancelCapture(); + void guiobject_setEnabled(int en); + void guiobject_onEnable(int en); + void guiobject_onResize(int x, int y, int w, int h); + void guiobject_onSetVisible(int v); + void guiobject_onTargetReached(); + void guiobject_setAlpha(int a); + int guiobject_getAlpha(); + void guiobject_setActiveAlpha(int a); + int guiobject_getActiveAlpha(); + void guiobject_setInactiveAlpha(int a); + int guiobject_getInactiveAlpha(); + void guiobject_onStartup(); + const wchar_t *guiobject_getXmlParam(const wchar_t *param); + int guiobject_setXmlParam(const wchar_t *param, const wchar_t *value); + int guiobject_setXmlParamById(int id, const wchar_t *value); + GuiObject *guiobject_getTopParent(); +#ifdef WASABI_COMPILE_WNDMGR + int guiobject_runModal(); + void guiobject_endModal(int retcode); + void guiobject_popParentLayout(); + void guiobject_registerStatusCB(GuiStatusCallback *cb); + void guiobject_setStatusText(const wchar_t *text, int overlay=FALSE); + void guiobject_addAppCmds(AppCmds *commands); + void guiobject_removeAppCmds(AppCmds *commands); + void guiobject_pushCompleted(int max=100); + void guiobject_incCompleted(int add=1); + void guiobject_setCompleted(int pos); + void guiobject_popCompleted(); +#endif + + void guiobject_onChar(wchar_t c); + void guiobject_onKeyDown(int vkcode); + void guiobject_onKeyUp(int vkcode); + + svc_xuiObject *guiobject_getXuiService(); + void guiobject_setXuiService(svc_xuiObject *svc); + waServiceFactory *guiobject_getXuiServiceFactory(); + void guiobject_setXuiServiceFactory(waServiceFactory *fac); + GuiObject *guiobject_findObject(const wchar_t *id); + GuiObject *guiobject_findObjectXY(int x, int y); + GuiObject *guiobject_findObjectByInterface(GUID interface_guid); + GuiObject *guiobject_findObjectByCallback(FindObjectCallback *cb); + GuiObject *guiobject_findObjectChain(FindObjectCallback *cb, GuiObject *caller=NULL); + const wchar_t *guiobject_getName(); + +#ifdef WASABI_COMPILE_CONFIG + void guiobject_setCfgAttrib(CfgItem *i, const wchar_t *attrib); + CfgItem *guiobject_getCfgItem(); + const wchar_t *guiobject_getCfgAttrib(); + + int guiobject_getCfgInt(); + void guiobject_setCfgInt(int i); + float guiobject_getCfgFloat(); + void guiobject_setCfgFloat(float v); + const wchar_t *guiobject_getCfgString(); + void guiobject_setCfgString(const wchar_t *s); + int guiobject_hasCfgAttrib(); +#endif + + void guiobject_onGetFocus(); + void guiobject_onKillFocus(); + void guiobject_onAccelerator(const wchar_t *accel); + int guiobject_onAction(const wchar_t *action, const wchar_t *param, int x, int y, intptr_t p1, intptr_t p2, void *data, size_t datalen, ifc_window *source); + + int guiobject_wantFocus(); + + void guiobject_setNoDoubleClick(int no); + void guiobject_setNoLeftClick(int no); + void guiobject_setNoRightClick(int no); + void guiobject_setNoMouseMove(int no); + void guiobject_setNoContextMenu(int no); + + void guiobject_setCursor(const wchar_t *c); + + void guiobject_setAppBar(int enabled); + int guiobject_getAppBar(); + + int guiobject_wantTranslation(); + + int guiobject_dragEnter(ifc_window *sourceWnd); + int guiobject_dragOver(int x, int y, ifc_window *sourceWnd); + int guiobject_dragLeave(ifc_window *sourceWnd); + + enum { + GUI_GETGUIPOSITION=10, + GUI_GETANCHORAGEPOSITION=11, + GUI_SETGUIPOSITION=20, + GUI_SETANCHORAGEPOSITION=21, + GUI_VALIDATEANCHORAGE=22, + GUI_SETPARENTGROUP=30, + GUI_GETPARENTGROUP=40, + GUI_GETPARENT=45, + GUI_GETPARENTLAYOUT=50, + GUI_GETTOPPARENT=55, + GUI_GETROOTWND=60, + GUI_WANTAUTOCTXMENU=70, + GUI_SETID=80, + GUI_GETID=90, + GUI_SETTARGETX=100, + GUI_SETTARGETY=110, + GUI_SETTARGETW=120, + GUI_SETTARGETH=130, + GUI_SETTARGETA=140, + GUI_SETTARGETSPEED=150, + GUI_GOTOTARGET=160, + GUI_CANCELTARGET=161, + GUI_REVERSETARGET=162, + GUI_MOVINGTOTARGET=170, + GUI_GETAUTOWIDTH=180, + GUI_GETAUTOHEIGHT=190, + GUI_BRINGTOFRONT=200, + GUI_BRINGTOBACK=210, + GUI_BRINGBELOW=220, + GUI_BRINGABOVE=230, + GUI_SETCLICKTHROUGH=240, + GUI_ISCLICKTHROUGH=250, + GUI_SETAUTOSMX=260, + GUI_SETAUTOSMY=270, + GUI_SETAUTOSMW=280, + GUI_SETAUTOSMH=290, + GUI_GETAUTOSMX=300, + GUI_GETAUTOSMY=310, + GUI_GETAUTOSMW=320, + GUI_GETAUTOSMH=330, + GUI_ONLEFTBUTTONDOWN=340, + GUI_ONLEFTBUTTONUP=350, + GUI_ONRIGHTBUTTONDOWN=360, + GUI_ONRIGHTBUTTONUP=370, + GUI_ONLEFTBUTTONDBLCLK=380, + GUI_ONRIGHTBUTTONDBLCLK=390, + GUI_ONMOUSEWHEELUP=394, + GUI_ONMOUSEWHEELDOWN=396, + GUI_ONMOUSEMOVE=400, + GUI_ONENTERAREA=410, + GUI_ONLEAVEAREA=420, + GUI_ONENABLE=430, + GUI_SETENABLED=431, + GUI_ONRESIZE=440, + GUI_ONSETVISIBLE=450, + GUI_ONTARGETREACHED=460, + GUI_SETALPHA=470, + GUI_GETALPHA=480, + GUI_SETACTIVEALPHA=490, + GUI_GETACTIVEALPHA=500, + GUI_SETINACTIVEALPHA=510, + GUI_GETINACTIVEALPHA=520, + GUI_ONSTARTUP=530, + GUI_SETXMLPARAM=540, + GUI_SETXMLPARAMBYID=541, + GUI_GETXMLPARAM=542, +// GUI_ONUNKNOWNXMLPARAM=545, retired + GUI_SETROOTWND=550, + GUI_GETSCRIPTOBJECT=560, + GUI_GETROOTOBJECT=570, + GUI_RUNMODAL=580, + GUI_ENDMODAL=590, + GUI_SETXUISVC=600, + GUI_GETXUISVC=610, + GUI_POPPARENTLAYOUT=620, + GUI_SETREGIONOP=630, + GUI_GETREGIONOP=640, + GUI_SETRECTRGN=650, + GUI_ISRECTRGN=660, + GUI_REGISTERSTATUSCB=670, + GUI_SETSTATUSTXT=680, + GUI_ADDCTXTCMDS=690, + GUI_REMCTXTCMDS=700, + GUI_FINDOBJECT=800, + GUI_FINDOBJECTBYGUID=801, + GUI_FINDOBJECTBYCB=802, + GUI_FINDOBJECTCHAIN=803, + GUI_FINDOBJECTXY=804, + GUI_GETNAME=805, + GUI_GETMOVER=810, + GUI_SETMOVER=820, + GUI_GETDROPTARGET=830, + GUI_SETDROPTARGET=840, + GUI_ONCANCELCAPTURE=850, + GUI_SETCFGATTRIB=860, + GUI_GETCFGITEM=870, + GUI_GETCFGATTRIB=880, + GUI_SETCFGINT=890, + GUI_GETCFGINT=900, + GUI_GETCFGFLOAT=910, + GUI_SETCFGFLOAT=920, + GUI_SETCFGSTRING=930, + GUI_GETCFGSTRING=940, + GUI_HASATTRIB=950, + GUI_PUSHCOMPLETED=1000, + GUI_INCCOMPLETED=1010, + GUI_SETCOMPLETED=1020, + GUI_POPCOMPLETED=1030, + GUI_ONCHAR=1100, + GUI_ONKEYDOWN=1110, + GUI_ONKEYUP=1120, + GUI_ONGETFOCUS=1200, + GUI_ONKILLFOCUS=1210, + GUI_ONACCELERATOR=1300, + GUI_ONACTION=1400, + GUI_ONINIT=1500, + GUI_WANTFOCUS=1600, + GUI_SETNOMOUSEMOVE=1700, + GUI_SETNOLEFTCLICK=1800, + GUI_SETNORIGHTCLICK=1900, + GUI_SETNODOUBLECLICK=2000, + GUI_SETNOCONTEXTMENU=2100, + GUI_SETCURSOR=2200, + GUI_SETXUIFAC=2300, + GUI_GETXUIFAC=2310, + GUI_SETAPPBAR=2400, + GUI_GETAPPBAR=2410, + GUI_WANTTRANSLATION=2420, + GUI_DRAGENTER = 2430, + GUI_DRAGOVER = 2440, + GUI_DRAGLEAVE = 2450, + }; + + operator ScriptObject *() { return (this == NULL) ? NULL : guiobject_getScriptObject(); } + operator ifc_window *() { return (this == NULL) ? NULL : guiobject_getRootWnd(); } +}; + +inline void GuiObject::guiobject_getGuiPosition(int *x, int *y, int *w, int *h, int *rx, int *ry, int *rw, int *rh) { + _voidcall(GUI_GETGUIPOSITION, x, y, w, h, rx, ry, rw, rh); +} + +inline void GuiObject::guiobject_setGuiPosition(int *x, int *y, int *w, int *h, int *rx, int *ry, int *rw, int *rh) { + _voidcall(GUI_SETGUIPOSITION, x, y, w, h, rx, ry, rw, rh); +} + +inline int GuiObject::guiobject_getAnchoragePosition(int *x1, int *y1, int *x2, int *y2, int *anchor) { + return _call(GUI_GETANCHORAGEPOSITION, 0, x1, y1, x2, y2, anchor); +} + +inline void GuiObject::guiobject_setAnchoragePosition(int *x1, int *y1, int *x2, int *y2, int *anchor) { + _voidcall(GUI_SETANCHORAGEPOSITION, x1, y1, x2, y2, anchor); +} + +inline void GuiObject::guiobject_validateAnchorage() { + _voidcall(GUI_VALIDATEANCHORAGE); +} + +inline void GuiObject::guiobject_setParentGroup(Group *g) { + _voidcall(GUI_SETPARENTGROUP, g); +} + +inline Group *GuiObject::guiobject_getParentGroup() { + return _call(GUI_GETPARENTGROUP, (Group *)NULL); +} + +inline GuiObject *GuiObject::guiobject_getParent() { + return _call(GUI_GETPARENT, (GuiObject *)NULL); +} + +inline Layout *GuiObject::guiobject_getParentLayout() { + return _call(GUI_GETPARENTLAYOUT, (Layout*)NULL); +} + +inline GuiObject *GuiObject::guiobject_getTopParent() { + return _call(GUI_GETTOPPARENT, (GuiObject *)NULL); +} + +inline ifc_window *GuiObject::guiobject_getRootWnd() { + return _call(GUI_GETROOTWND, (ifc_window *)NULL); +} + +inline void GuiObject::guiobject_setRootWnd(ifc_window *r) { + _voidcall(GUI_SETROOTWND, r); +} + +inline int GuiObject::guiobject_wantAutoContextMenu() { + return _call(GUI_WANTAUTOCTXMENU, 0); +} + +inline void GuiObject::guiobject_setId(const wchar_t *id) { + _voidcall(GUI_SETID, id); +} + +inline const wchar_t *GuiObject::guiobject_getId() { + return _call(GUI_GETID, (const wchar_t *)NULL); +} + +inline void GuiObject::guiobject_setTargetX(int tx) { + _voidcall(GUI_SETTARGETX, tx); +} + +inline void GuiObject::guiobject_setTargetY(int ty) { + _voidcall(GUI_SETTARGETY, ty); +} + +inline void GuiObject::guiobject_setTargetW(int tw) { + _voidcall(GUI_SETTARGETW, tw); +} + +inline void GuiObject::guiobject_setTargetH(int th) { + _voidcall(GUI_SETTARGETH, th); +} + +inline void GuiObject::guiobject_setTargetA(int ta) { + _voidcall(GUI_SETTARGETA, ta); +} + +inline void GuiObject::guiobject_setTargetSpeed(float s) { + _voidcall(GUI_SETTARGETSPEED, s); +} + +inline void GuiObject::guiobject_gotoTarget(void) { + _voidcall(GUI_GOTOTARGET); +} + +inline void GuiObject::guiobject_cancelTarget() { + _voidcall(GUI_CANCELTARGET); +} + +inline int GuiObject::guiobject_getAutoWidth() { + return _call(GUI_GETAUTOWIDTH, 0); +} + +inline int GuiObject::guiobject_getAutoHeight() { + return _call(GUI_GETAUTOHEIGHT, 0); +} + +inline int GuiObject::guiobject_movingToTarget() { + return _call(GUI_MOVINGTOTARGET, 0); +} + +inline void GuiObject::guiobject_bringToFront() { + _voidcall(GUI_BRINGTOFRONT); +} + +inline void GuiObject::guiobject_bringToBack() { + _voidcall(GUI_BRINGTOBACK); +} + +inline void GuiObject::guiobject_bringAbove(GuiObject *o) { + _voidcall(GUI_BRINGABOVE, o); +} + +inline void GuiObject::guiobject_bringBelow(GuiObject *o) { + _voidcall(GUI_BRINGBELOW, o); +} + +inline void GuiObject::guiobject_setClickThrough(int ct) { + _voidcall(GUI_SETCLICKTHROUGH, ct); +} + +inline void GuiObject::guiobject_setRegionOp(int op) { + _voidcall(GUI_SETREGIONOP, op); +} + +inline int GuiObject::guiobject_getRegionOp() { + return _call(GUI_GETREGIONOP, 0); +} + +inline void GuiObject::guiobject_setRectRgn(int rrgn) { + _voidcall(GUI_SETRECTRGN, rrgn); +} + +inline int GuiObject::guiobject_isRectRgn() { + return _call(GUI_ISRECTRGN, 0); +} + +inline int GuiObject::guiobject_isClickThrough() { + return _call(GUI_ISCLICKTHROUGH, 0); +} + +inline void GuiObject::guiobject_setAutoSysMetricsX(int a) { + _voidcall(GUI_SETAUTOSMX, a); +} + +inline void GuiObject::guiobject_setAutoSysMetricsY(int a) { + _voidcall(GUI_SETAUTOSMY, a); +} + +inline void GuiObject::guiobject_setAutoSysMetricsW(int a) { + _voidcall(GUI_SETAUTOSMW, a); +} + +inline void GuiObject::guiobject_setAutoSysMetricsH(int a) { + _voidcall(GUI_SETAUTOSMH, a); +} + +inline int GuiObject::guiobject_getAutoSysMetricsX() { + return _call(GUI_GETAUTOSMX, 0); +} + +inline int GuiObject::guiobject_getAutoSysMetricsY() { + return _call(GUI_GETAUTOSMY, 0); +} + +inline int GuiObject::guiobject_getAutoSysMetricsW() { + return _call(GUI_GETAUTOSMW, 0); +} + +inline int GuiObject::guiobject_getAutoSysMetricsH() { + return _call(GUI_GETAUTOSMH, 0); +} + +inline void GuiObject::guiobject_onLeftButtonDown(int x, int y) { + _voidcall(GUI_ONLEFTBUTTONDOWN, x, y); +} + +inline void GuiObject::guiobject_onLeftButtonUp(int x, int y) { + _voidcall(GUI_ONLEFTBUTTONUP, x, y); +} + +inline void GuiObject::guiobject_onRightButtonDown(int x, int y) { + _voidcall(GUI_ONRIGHTBUTTONDOWN, x, y); +} + +inline void GuiObject::guiobject_onRightButtonUp(int x, int y) { + _voidcall(GUI_ONRIGHTBUTTONUP, x, y); +} + +inline void GuiObject::guiobject_onLeftButtonDblClk(int x, int y) { + _voidcall(GUI_ONLEFTBUTTONDBLCLK, x, y); +} + +inline void GuiObject::guiobject_onRightButtonDblClk(int x, int y) { + _voidcall(GUI_ONRIGHTBUTTONDBLCLK, x, y); +} + +inline int GuiObject::guiobject_onMouseWheelUp(int click, int lines) +{ + return _call(GUI_ONMOUSEWHEELUP, 0, click, lines); +} + +inline int GuiObject::guiobject_onMouseWheelDown(int click, int lines) +{ + return _call(GUI_ONMOUSEWHEELDOWN, 0, click, lines); +} + +inline void GuiObject::guiobject_onMouseMove(int x, int y) { + _voidcall(GUI_ONMOUSEMOVE, x, y); +} + +inline void GuiObject::guiobject_onEnterArea() { + _voidcall(GUI_ONENTERAREA); +} + +inline void GuiObject::guiobject_onLeaveArea() { + _voidcall(GUI_ONLEAVEAREA); +} + +inline void GuiObject::guiobject_onEnable(int en) { + _voidcall(GUI_ONENABLE, en); +} + +inline void GuiObject::guiobject_setEnabled(int en) { + _voidcall(GUI_SETENABLED, en); +} + +inline void GuiObject::guiobject_onResize(int x, int y, int w, int h) { + _voidcall(GUI_ONRESIZE, x, y, w, h); +} + +inline void GuiObject::guiobject_onSetVisible(int v) { + _voidcall(GUI_ONSETVISIBLE, v); +} + +inline void GuiObject::guiobject_onTargetReached() { + _voidcall(GUI_ONTARGETREACHED); +} + +inline void GuiObject::guiobject_setAlpha(int a) { + _voidcall(GUI_SETALPHA, a); +} + +inline int GuiObject::guiobject_getAlpha() { + return _call(GUI_GETALPHA, 255); +} + +inline void GuiObject::guiobject_setActiveAlpha(int a) { + _voidcall(GUI_SETACTIVEALPHA, a); +} + +inline int GuiObject::guiobject_getActiveAlpha() { + return _call(GUI_GETACTIVEALPHA, 255); +} + +inline void GuiObject::guiobject_setInactiveAlpha(int a) { + _voidcall(GUI_SETINACTIVEALPHA, a); +} + +inline int GuiObject::guiobject_getInactiveAlpha() { + return _call(GUI_GETINACTIVEALPHA, 255); +} + +inline void GuiObject::guiobject_onStartup() { + _voidcall(GUI_ONSTARTUP); +} + +inline int GuiObject::guiobject_setXmlParam(const wchar_t *param, const wchar_t *value) { + return _call(GUI_SETXMLPARAM, 0, param, value); +} + +inline int GuiObject::guiobject_setXmlParamById(int id, const wchar_t *value) { + return _call(GUI_SETXMLPARAMBYID, 0, id, value); +} + +inline const wchar_t *GuiObject::guiobject_getXmlParam(const wchar_t *param) { + return _call(GUI_GETXMLPARAM, (const wchar_t *)NULL, param); +} + +inline ScriptObject *GuiObject::guiobject_getScriptObject() { + return _call(GUI_GETSCRIPTOBJECT, (ScriptObject *)NULL); +} + +inline RootObject *GuiObject::guiobject_getRootObject() { + return _call(GUI_GETROOTOBJECT, (RootObject *)NULL); +} + +#ifdef WASABI_COMPILE_WNDMGR +inline int GuiObject::guiobject_runModal() { + return _call(GUI_RUNMODAL, 0); +} + +inline void GuiObject::guiobject_endModal(int retcode) { + _voidcall(GUI_ENDMODAL, retcode); +} +#endif + +inline svc_xuiObject *GuiObject::guiobject_getXuiService() { + return _call(GUI_GETXUISVC, (svc_xuiObject *)NULL); +} + +inline void GuiObject::guiobject_setXuiService(svc_xuiObject *svc) { + _voidcall(GUI_SETXUISVC, svc); +} + +inline waServiceFactory *GuiObject::guiobject_getXuiServiceFactory() { + return _call(GUI_GETXUIFAC, (waServiceFactory*)NULL); +} + +inline void GuiObject::guiobject_setXuiServiceFactory(waServiceFactory *fac) { + _voidcall(GUI_SETXUIFAC, fac); +} + +#ifdef WASABI_COMPILE_WNDMGR +inline void GuiObject::guiobject_popParentLayout() { + _voidcall(GUI_POPPARENTLAYOUT); +} + +inline void GuiObject::guiobject_setStatusText(const wchar_t *txt, int overlay) { + _voidcall(GUI_SETSTATUSTXT, txt, overlay); +} + +inline void GuiObject::guiobject_addAppCmds(AppCmds *commands) { + _voidcall(GUI_ADDCTXTCMDS, commands); +} + +inline void GuiObject::guiobject_removeAppCmds(AppCmds *commands) { + _voidcall(GUI_REMCTXTCMDS, commands); +} + +inline +void GuiObject::guiobject_pushCompleted(int max) { + _voidcall(GUI_PUSHCOMPLETED, max); +} +inline +void GuiObject::guiobject_incCompleted(int add) { + _voidcall(GUI_INCCOMPLETED, add); +} +inline +void GuiObject::guiobject_setCompleted(int pos) { + _voidcall(GUI_SETCOMPLETED, pos); +} + +inline +void GuiObject::guiobject_popCompleted() { + _voidcall(GUI_POPCOMPLETED); +} + +inline void GuiObject::guiobject_registerStatusCB(GuiStatusCallback *callback) { + _voidcall(GUI_REGISTERSTATUSCB, callback); +} +#endif + +inline GuiObject *GuiObject::guiobject_findObject(const wchar_t *id) { + return _call(GUI_FINDOBJECT, (GuiObject *)NULL, id); +} + +inline GuiObject *GuiObject::guiobject_findObjectXY(int x, int y) { + return _call(GUI_FINDOBJECTXY, (GuiObject *)NULL, x, y); +} + +inline GuiObject *GuiObject::guiobject_findObjectByInterface(GUID interface_guid) { + return _call(GUI_FINDOBJECTBYGUID, (GuiObject *)NULL, interface_guid); +} + +inline GuiObject *GuiObject::guiobject_findObjectByCallback(FindObjectCallback *cb) { + return _call(GUI_FINDOBJECTBYCB, (GuiObject *)NULL, cb); +} + +inline GuiObject *GuiObject::guiobject_findObjectChain(FindObjectCallback *cb, GuiObject *caller) { + return _call(GUI_FINDOBJECTCHAIN, (GuiObject *)NULL, cb, caller); +} + +inline const wchar_t *GuiObject::guiobject_getName() { + return _call(GUI_GETNAME, (const wchar_t *)NULL); +} + +inline int GuiObject::guiobject_getMover() { + return _call(GUI_GETMOVER, 0); +} + +inline void GuiObject::guiobject_setMover(int s) { + _voidcall(GUI_SETMOVER, s); +} + +inline FOURCC GuiObject::guiobject_getDropTarget() { + return _call(GUI_GETDROPTARGET, (FOURCC)0); +} + +inline void GuiObject::guiobject_setDropTarget(const wchar_t *target) { + _voidcall(GUI_SETDROPTARGET, target); +} + +inline void GuiObject::guiobject_onCancelCapture() { + _voidcall(GUI_ONCANCELCAPTURE); +} + +#ifdef WASABI_COMPILE_CONFIG +inline void GuiObject::guiobject_setCfgAttrib(CfgItem *item, const wchar_t *attr) { + _voidcall(GUI_SETCFGATTRIB, item, attr); +} + +inline CfgItem *GuiObject::guiobject_getCfgItem() { + return _call(GUI_GETCFGITEM, (CfgItem *)NULL); +} + +inline const wchar_t *GuiObject::guiobject_getCfgAttrib() { + return _call(GUI_GETCFGATTRIB, (const wchar_t *)NULL); +} + +inline int GuiObject::guiobject_getCfgInt() { + return _call(GUI_GETCFGINT, 0); +} + +inline void GuiObject::guiobject_setCfgInt(int i) { + _voidcall(GUI_SETCFGINT, i); +} + +inline float GuiObject::guiobject_getCfgFloat() { + return _call(GUI_GETCFGFLOAT, (float)0); +} + +inline void GuiObject::guiobject_setCfgFloat(float v) { + _voidcall(GUI_SETCFGFLOAT, v); +} + +inline const wchar_t *GuiObject::guiobject_getCfgString() { + return _call(GUI_GETCFGSTRING, (const wchar_t *)NULL); +} + +inline void GuiObject::guiobject_setCfgString(const wchar_t *s) { + _voidcall(GUI_SETCFGSTRING, s); +} + +inline int GuiObject::guiobject_hasCfgAttrib() { + return _call(GUI_HASATTRIB, 0); +} +#endif + +inline void GuiObject::guiobject_onChar(wchar_t c) { + _voidcall(GUI_ONCHAR, c); +} + +inline void GuiObject::guiobject_onKeyDown(int k) { + _voidcall(GUI_ONKEYDOWN, k); +} + +inline void GuiObject::guiobject_onKeyUp(int k) { + _voidcall(GUI_ONKEYUP, k); +} + +inline void GuiObject::guiobject_onGetFocus() { + _voidcall(GUI_ONGETFOCUS); +} + +inline void GuiObject::guiobject_onKillFocus() { + _voidcall(GUI_ONKILLFOCUS); +} + +inline void GuiObject::guiobject_onAccelerator(const wchar_t *accel) { + _voidcall(GUI_ONACCELERATOR, accel); +} + +inline int GuiObject::guiobject_onAction(const wchar_t *action, const wchar_t *param, int x, int y, intptr_t p1, intptr_t p2, void *data, size_t datalen, ifc_window *source) { + return _call(GUI_ONACTION, 0, action, param, x, y, p1, p2, data, datalen, source); +} + +inline void GuiObject::guiobject_onInit() { + _voidcall(GUI_ONINIT); +} + +inline int GuiObject::guiobject_wantFocus() { + return _call(GUI_WANTFOCUS, 0); +} + +inline void GuiObject::guiobject_setNoDoubleClick(int no) { + _voidcall(GUI_SETNODOUBLECLICK, no); +} + +inline void GuiObject::guiobject_setNoLeftClick(int no) { + _voidcall(GUI_SETNOLEFTCLICK, no); +} + +inline void GuiObject::guiobject_setNoRightClick(int no) { + _voidcall(GUI_SETNORIGHTCLICK, no); +} + +inline void GuiObject::guiobject_setNoMouseMove(int no) { + _voidcall(GUI_SETNOMOUSEMOVE, no); +} + +inline void GuiObject::guiobject_setNoContextMenu(int no) { + _voidcall(GUI_SETNOCONTEXTMENU, no); +} + +inline void GuiObject::guiobject_setCursor(const wchar_t *c) { + _voidcall(GUI_SETCURSOR, c); +} + +inline void GuiObject::guiobject_reverseTarget(int reverse) { + _voidcall(GUI_REVERSETARGET, reverse); +} + +inline void GuiObject::guiobject_setAppBar(int enabled) { + _voidcall(GUI_SETAPPBAR, enabled); +} + +inline int GuiObject::guiobject_getAppBar() { + return _call(GUI_GETAPPBAR, 0); +} + +inline int GuiObject::guiobject_wantTranslation() +{ + return _call(GUI_WANTTRANSLATION, (int)1); +} + +inline int GuiObject::guiobject_dragEnter(ifc_window *sourceWnd) +{ + return _call(GUI_DRAGENTER, (int)1, sourceWnd); +} + +inline int GuiObject::guiobject_dragOver(int x, int y, ifc_window *sourceWnd) +{ + return _call(GUI_DRAGOVER, (int)1, sourceWnd, x, y); +} + +inline int GuiObject::guiobject_dragLeave(ifc_window *sourceWnd) +{ + return _call(GUI_DRAGLEAVE, (int)1, sourceWnd); +} + +#endif -- cgit