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/xuiaddparams.cpp | 41 ++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Src/Wasabi/api/skin/widgets/xuiaddparams.cpp (limited to 'Src/Wasabi/api/skin/widgets/xuiaddparams.cpp') diff --git a/Src/Wasabi/api/skin/widgets/xuiaddparams.cpp b/Src/Wasabi/api/skin/widgets/xuiaddparams.cpp new file mode 100644 index 00000000..aa6d5daa --- /dev/null +++ b/Src/Wasabi/api/skin/widgets/xuiaddparams.cpp @@ -0,0 +1,41 @@ +#include + +#include "xuiaddparams.h" +#include + +// ----------------------------------------------------------------------- +const wchar_t AddParamsXuiObjectStr[] = L"AddParams"; // This is the xml tag +char AddParamsXuiSvcName[] = "AddParams xui object"; + +// ----------------------------------------------------------------------- +AddParams::AddParams():myxuihandle(0) { +} + +// ----------------------------------------------------------------------- +AddParams::~AddParams() { + pastlist.deleteAll(); +} + +// ----------------------------------------------------------------------- +int AddParams::setXmlParam(const wchar_t *param, const wchar_t *value) +{ + int r = ADDPARAMS_PARENT::setXmlParam(param, value); + if (!WCSCASEEQLSAFE(param, L"group") && !WCSCASEEQLSAFE(param, L"target")) { + Pair *pair = new Pair(param, value); + pastlist.addItem(pair); + } + return r; +} + +// ----------------------------------------------------------------------- +void AddParams::actuator_onPerform(GuiObject *target) { // guaranteed non NULL + ADDPARAMS_PARENT::actuator_onPerform(target); + XmlObject *xtarget = static_cast(target->guiobject_getScriptObject()->vcpu_getInterface(xmlObjectGuid)); + foreach(pastlist) + const wchar_t *a = pastlist.getfor()->a; + int xp = xtarget->getXmlParam(a); + StringW newval((xp == -1) ? L"" : xtarget->getXmlParamValue(xp)); + newval.cat(pastlist.getfor()->b); + xtarget->setXmlParam(a, newval); + endfor; +} -- cgit