diff options
Diffstat (limited to 'source/windowing/StarWidgetLuaBindings.cpp')
-rw-r--r-- | source/windowing/StarWidgetLuaBindings.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/source/windowing/StarWidgetLuaBindings.cpp b/source/windowing/StarWidgetLuaBindings.cpp index 16ef279..b36d2f6 100644 --- a/source/windowing/StarWidgetLuaBindings.cpp +++ b/source/windowing/StarWidgetLuaBindings.cpp @@ -205,6 +205,34 @@ LuaCallbacks LuaBindings::makeWidgetCallbacks(Widget* parentWidget, GuiReaderPtr // callbacks only valid for specific widget types + callbacks.registerCallback("setHint", [parentWidget](String const& widgetName, String const& hint) { + if (auto widget = parentWidget->fetchChild(widgetName)) { + if (auto textBox = as<TextBoxWidget>(widget)) + textBox->setHint(hint); + } + }); + + callbacks.registerCallback("getHint", [parentWidget](String const& widgetName) { + if (auto widget = parentWidget->fetchChild(widgetName)) { + if (auto textBox = as<TextBoxWidget>(widget)) + return textBox->getHint(); + } + }); + + callbacks.registerCallback("setCursorPosition", [parentWidget](String const& widgetName, int cursorPosition) { + if (auto widget = parentWidget->fetchChild(widgetName)) { + if (auto textBox = as<TextBoxWidget>(widget)) + textBox->setCursorPosition(cursorPosition); + } + }); + + callbacks.registerCallback("getCursorPosition", [parentWidget](String const& widgetName) { + if (auto widget = parentWidget->fetchChild(widgetName)) { + if (auto textBox = as<TextBoxWidget>(widget)) + return textBox->getCursorPosition(); + } + }); + callbacks.registerCallback("getText", [parentWidget](String const& widgetName) -> Maybe<String> { if (auto widget = parentWidget->fetchChild(widgetName)) { if (auto label = as<LabelWidget>(widget)) |