MCPcopy Create free account
hub / github.com/OpenMW/openmw / updateWidget

Function updateWidget

components/lua_ui/element.cpp:215–227  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

213 }
214
215 void updateWidget(WidgetExtension* ext, const sol::table& layout, uint64_t depth)
216 {
217 if (depth >= maxDepth)
218 throw std::runtime_error("Maximum layout depth exceeded, probably caused by a circular reference");
219 ext->reset();
220 ext->setLayout(layout);
221 ext->setExternal(layout.get<sol::object>(LayoutKeys::external));
222 setTemplate(ext, layout.get<sol::object>(LayoutKeys::templateLayout), depth);
223 ext->setProperties(layout.get<sol::object>(LayoutKeys::props));
224 setEventCallbacks(ext, layout.get<sol::object>(LayoutKeys::events));
225 ext->setChildren(updateContent(ext->children(), layout.get<sol::object>(LayoutKeys::content), depth));
226 ext->updateCoord();
227 }
228
229 std::string setLayer(WidgetExtension* ext, const sol::table& layout)
230 {

Callers 4

updateContentFunction · 0.85
createWidgetFunction · 0.85
updateMethod · 0.85
resetMethod · 0.85

Calls 9

setTemplateFunction · 0.85
setEventCallbacksFunction · 0.85
updateContentFunction · 0.85
setLayoutMethod · 0.80
setExternalMethod · 0.80
setPropertiesMethod · 0.80
setChildrenMethod · 0.80
resetMethod · 0.45
updateCoordMethod · 0.45

Tested by

no test coverage detected