diff --git a/src/logic/scripting/lua/libs/libgui.cpp b/src/logic/scripting/lua/libs/libgui.cpp index 68327c8e..89c778c3 100644 --- a/src/logic/scripting/lua/libs/libgui.cpp +++ b/src/logic/scripting/lua/libs/libgui.cpp @@ -114,6 +114,16 @@ static int l_node_destruct(lua::State* L) { return 0; } +static int l_container_refresh(lua::State* L) { + auto docnode = get_document_node(L); + auto node = dynamic_cast(docnode.node.get()); + if (node == nullptr) { + return 0; + } + node->refresh(); + return 0; +} + static int l_node_reposition(lua::State* L) { auto docnode = get_document_node(L); docnode.node->reposition(); @@ -408,6 +418,13 @@ static int p_get_destruct(UINode*, lua::State* L) { return lua::pushcfunction(L, lua::wrap); } +static int p_refresh(UINode* node, lua::State* L) { + if (dynamic_cast(node)) { + return lua::pushcfunction(L, lua::wrap); + } + return 0; +} + static int p_get_reposition(UINode*, lua::State* L) { return lua::pushcfunction(L, lua::wrap); } @@ -539,6 +556,7 @@ static int l_gui_getattr(lua::State* L) { {"moveInto", p_move_into}, {"add", p_get_add}, {"destruct", p_get_destruct}, + {"refresh", p_refresh}, {"reposition", p_get_reposition}, {"clear", p_get_clear}, {"setInterval", p_set_interval},