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/skin/widgets/xuicustomobject.cpp | 64 +++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 Src/Wasabi/api/skin/widgets/xuicustomobject.cpp (limited to 'Src/Wasabi/api/skin/widgets/xuicustomobject.cpp') diff --git a/Src/Wasabi/api/skin/widgets/xuicustomobject.cpp b/Src/Wasabi/api/skin/widgets/xuicustomobject.cpp new file mode 100644 index 00000000..559dd4f4 --- /dev/null +++ b/Src/Wasabi/api/skin/widgets/xuicustomobject.cpp @@ -0,0 +1,64 @@ +#include +#include "xuicustomobject.h" +#include + +// ----------------------------------------------------------------------- +const wchar_t CustomObjectXuiObjectStr[] = L"CustomObject"; // This is the xml tag +char CustomObjectXuiSvcName[] = "CustomObject xui object"; + +XMLParamPair XuiCustomObject::params[] = { + {CUSTOMOBJECT_SETGROUP, L"GROUPID"}, +}; + +// ----------------------------------------------------------------------- +XuiCustomObject::XuiCustomObject() +{ + myxuihandle = newXuiHandle(); + CreateXMLParameters(myxuihandle); + + ScriptObject *o = getGuiObject()->guiobject_getScriptObject(); + o->vcpu_setInterface(customObjectGuid, static_cast(this)); + +} + +void XuiCustomObject::CreateXMLParameters(int master_handle) +{ + //CUSTOMOBJECT_PARENT::CreateXMLParameters(master_handle); + int numParams = sizeof(params) / sizeof(params[0]); + hintNumberOfParams(myxuihandle, numParams); + for (int i = 0;i < numParams;i++) + addParam(myxuihandle, params[i], XUI_ATTRIBUTE_IMPLIED); + +} +// ----------------------------------------------------------------------- +XuiCustomObject::~XuiCustomObject() { +} + +// ----------------------------------------------------------------------- +int XuiCustomObject::setXuiParam(int xuihandle, int xmlattributeid, const wchar_t *xmlattributename, const wchar_t *value) { + if (xuihandle != myxuihandle) + return CUSTOMOBJECT_PARENT::setXuiParam(xuihandle, xmlattributeid, xmlattributename, value); + + switch (xmlattributeid) { + case CUSTOMOBJECT_SETGROUP: + setContent(value); + break; + default: + return 0; + } + return 1; +} + +// ----------------------------------------------------------------------- +void XuiCustomObject::setGroup(const wchar_t *elementname) { + setContent(elementname); +} + +// ----------------------------------------------------------------------- +void XuiCustomObject::customobject_setRootWnd(ifc_window *w) { + rootwndholder_setRootWnd(NULL); + groupid = L""; + setContent(groupid); + if (w != NULL) rootwndholder_setRootWnd(w); + notifyParent(ChildNotify::AUTOWHCHANGED); +} -- cgit