From 2748a45fc6d394fe46b3013078f93ae4ca424a9e Mon Sep 17 00:00:00 2001 From: phosit Date: Tue, 4 Nov 2025 09:47:10 +0100 Subject: [PATCH] Remove ScriptEvent with only one parameter The effect is the same when the second parameter is defaulted. --- source/gui/CGUI.cpp | 15 ++------------- source/gui/CGUI.h | 11 +++-------- source/gui/ObjectBases/IGUIObject.cpp | 14 ++------------ source/gui/ObjectBases/IGUIObject.h | 15 +++------------ 4 files changed, 10 insertions(+), 45 deletions(-) diff --git a/source/gui/CGUI.cpp b/source/gui/CGUI.cpp index b76d874486..736d192359 100644 --- a/source/gui/CGUI.cpp +++ b/source/gui/CGUI.cpp @@ -59,7 +59,6 @@ #include #include #include -#include #include #include #include @@ -351,18 +350,8 @@ JSObject* CGUI::TickObjects(const ScriptRequest& rq, Script::StructuredClone ini return sendingPromise; } -void CGUI::SendEventToAll(const CStr& eventName) -{ - std::unordered_map>::iterator it = m_EventObjects.find(eventName); - if (it == m_EventObjects.end()) - return; - - std::vector copy = it->second; - for (IGUIObject* object : copy) - object->ScriptEvent(eventName); -} - -void CGUI::SendEventToAll(const CStr& eventName, const JS::HandleValueArray& paramData) +void CGUI::SendEventToAll(const CStr& eventName, + const JS::HandleValueArray paramData /* = JS::HandleValueArray::empty() */) { std::unordered_map>::iterator it = m_EventObjects.find(eventName); if (it == m_EventObjects.end()) diff --git a/source/gui/CGUI.h b/source/gui/CGUI.h index 7c16807550..cbf3ceaaf4 100644 --- a/source/gui/CGUI.h +++ b/source/gui/CGUI.h @@ -41,6 +41,7 @@ #include #include +#include #include #include #include @@ -105,20 +106,14 @@ public: JSObject* TickObjects(const ScriptRequest& rq, Script::StructuredClone initData, const std::string_view scriptName); - /** - * Sends a specified script event to every object - * - * @param eventName String representation of event name - */ - void SendEventToAll(const CStr& eventName); - /** * Sends a specified script event to every object * * @param eventName String representation of event name * @param paramData JS::HandleValueArray storing the arguments passed to the event handler. */ - void SendEventToAll(const CStr& eventName, const JS::HandleValueArray& paramData); + void SendEventToAll(const CStr& eventName, + const JS::HandleValueArray paramData = JS::HandleValueArray::empty()); /** * Displays the whole GUI diff --git a/source/gui/ObjectBases/IGUIObject.cpp b/source/gui/ObjectBases/IGUIObject.cpp index fba0c731d6..f2e9b61996 100644 --- a/source/gui/ObjectBases/IGUIObject.cpp +++ b/source/gui/ObjectBases/IGUIObject.cpp @@ -44,7 +44,6 @@ #include #include #include -#include #include #include #include @@ -447,17 +446,8 @@ InReaction IGUIObject::SendMouseEvent(EGUIMessageType type, const CStr& eventNam return msg.skipped ? IN_PASS : IN_HANDLED; } -bool IGUIObject::ScriptEvent(const CStr& eventName) -{ - if (m_ScriptHandlers.find(eventName) == m_ScriptHandlers.end()) - return false; - - ScriptRequest rq(m_pGUI.GetScriptInterface()); - JS::RootedValueVector paramData(rq.cx); - return ScriptEvent(eventName, paramData); -} - -bool IGUIObject::ScriptEvent(const CStr& eventName, const JS::HandleValueArray& paramData) +bool IGUIObject::ScriptEvent(const CStr& eventName, + const JS::HandleValueArray& paramData /* = JS::HandleValueArray::empty() */) { std::map >::iterator it = m_ScriptHandlers.find(eventName); if (it == m_ScriptHandlers.end()) diff --git a/source/gui/ObjectBases/IGUIObject.h b/source/gui/ObjectBases/IGUIObject.h index ec52e4722e..8c7169bc99 100644 --- a/source/gui/ObjectBases/IGUIObject.h +++ b/source/gui/ObjectBases/IGUIObject.h @@ -36,6 +36,7 @@ #include #include +#include #include #include #include @@ -396,17 +397,6 @@ protected: */ CRect m_CachedActualSize; - /** - * Execute the script for a particular action. - * Does nothing if no script has been registered for that action. - * The mouse coordinates will be passed as the first argument. - * - * @param eventName Name of action - * - * @return True if the script returned something truthy. - */ - bool ScriptEvent(const CStr& eventName); - /** * Execute the script for a particular action. * Does nothing if no script has been registered for that action. @@ -416,7 +406,8 @@ protected: * * @return True if the script returned something truthy. */ - bool ScriptEvent(const CStr& eventName, const JS::HandleValueArray& paramData); + bool ScriptEvent(const CStr& eventName, + const JS::HandleValueArray& paramData = JS::HandleValueArray::empty()); /** * Assigns a JS function to the event name.