From 9b1f43dbd3b1fcf0984936c4ba5f12651a5cbda1 Mon Sep 17 00:00:00 2001 From: Shane Parker Date: Fri, 8 Apr 2022 07:07:01 -0400 Subject: [PATCH] Addressed UI bugs with data not properly updating. --- triggers/scripts/parametercombobox.lua | 8 +++++++- triggers/scripts/parameterlist.lua | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/triggers/scripts/parametercombobox.lua b/triggers/scripts/parametercombobox.lua index 1f180f9..af214aa 100644 --- a/triggers/scripts/parametercombobox.lua +++ b/triggers/scripts/parametercombobox.lua @@ -23,10 +23,12 @@ function configure(rParameterInfo, aEventParameters) end end end + Debug.chat("configure", rParameterInfo, aEventParameters, node.getValue()); setComboValue(node.getValue()); end function addValue(sValue) + -- TODO potentially add parameter info to be explicit about intent local sResource = Interface.getString(sValue); if sResource == "" then sResource = nil; @@ -57,7 +59,11 @@ function setComboValue(sValue) DB.setValue(node.getPath(), "string", sValue); elseif hasValue(sValue) then -- It would be nice if comboboxes had full support for key/value pair data. - setListValue(Interface.getString(sValue)); -- TODO interface alternative. + for nIndex,sKnownValue in ipairs(getValues()) do + if sValue == sKnownValue then + setListIndex(nIndex); + end + end else setListValue(string.format(Interface.getString("unknown_parameter_error"), sValue)); end diff --git a/triggers/scripts/parameterlist.lua b/triggers/scripts/parameterlist.lua index 0edef44..632f50a 100644 --- a/triggers/scripts/parameterlist.lua +++ b/triggers/scripts/parameterlist.lua @@ -39,6 +39,8 @@ function initializeParameters(aConfigurableParameters, aEventParameters, bRebuil local winParameter = createWindowWithClass("trigger_parameter_" .. rParameterInfo.sType, nodeParameter); winParameter.configure(rParameterInfo, aEventParameters); end + + onParameterChanged(); end function rebuildParameterNodes(windowNode, aConfigurableParameters) @@ -49,8 +51,6 @@ function rebuildParameterNodes(windowNode, aConfigurableParameters) DB.setValue(nodeParameter, "name", "string", rParameterInfo.sName); DB.setValue(nodeParameter, "type", "string", rParameterInfo.sType); end - - onParameterChanged(); end function onParameterChanged()