diff options
| author | Jean-Francois Mauguit <jfmauguit@mac.com> | 2024-09-24 09:03:25 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-24 09:03:25 -0400 |
| commit | bab614c421ed7ae329d26bf028c4a3b1d2450f5a (patch) | |
| tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Wasabi/api/skin/widgets/xuistatus.h | |
| parent | 4bde6044fddf053f31795b9eaccdd2a5a527d21f (diff) | |
| parent | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (diff) | |
| download | winamp-bab614c421ed7ae329d26bf028c4a3b1d2450f5a.tar.gz | |
Merge pull request #5 from WinampDesktop/community
Merge to main
Diffstat (limited to 'Src/Wasabi/api/skin/widgets/xuistatus.h')
| -rw-r--r-- | Src/Wasabi/api/skin/widgets/xuistatus.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Src/Wasabi/api/skin/widgets/xuistatus.h b/Src/Wasabi/api/skin/widgets/xuistatus.h new file mode 100644 index 00000000..972190e3 --- /dev/null +++ b/Src/Wasabi/api/skin/widgets/xuistatus.h @@ -0,0 +1,54 @@ +#ifndef __XUISTATUS_H +#define __XUISTATUS_H + +#include <api/wnd/wndclass/status.h> +#include <api/script/objcontroller.h> + +#define XUISTATUS_PARENT StatusBar +class XuiStatus : public XUISTATUS_PARENT { +public: + XuiStatus(); + virtual int setXuiParam(int xuihandle, int xmlattributeid, const wchar_t *xmlattributename, const wchar_t *value); + + virtual void callme(const wchar_t *txt); +protected: + /*static */void CreateXMLParameters(int master_handle); +private: + +enum { + EXCLUDE, INCLUDE +}; + static XMLParamPair params[]; + int myxuihandle; +}; + +extern const wchar_t StatusXuiObjectStr[]; +extern char StatusXuiSvcName[]; +class LayoutStatusXuiSvc : public XuiObjectSvc<XuiStatus, StatusXuiObjectStr, StatusXuiSvcName> {}; + +// ----------------------------------------------------------------------------------------------------- +class LayoutStatusController : public ScriptObjectControllerI { + public: + + virtual const wchar_t *getClassName() { return L"LayoutStatus"; } + virtual const wchar_t *getAncestorClassName() { return L"GuiObject"; } + virtual ScriptObjectController *getAncestorController() { return WASABI_API_MAKI->maki_getController(guiObjectGuid); } + virtual int getNumFunctions(); + virtual const function_descriptor_struct *getExportedFunctions(); + virtual GUID getClassGuid() { return layoutStatusGuid; } + virtual ScriptObject *instantiate(); + virtual void destroy(ScriptObject *o); + virtual void *encapsulate(ScriptObject *o); + virtual void deencapsulate(void *o); + + public: + static scriptVar layoutstatus_callme(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar str); + + private: + + static function_descriptor_struct exportedFunction[]; +}; + +extern LayoutStatusController *layoutStatusController; + +#endif |
