Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/windowing/StarWidgetLuaBindings.cpp
diff options
context:
space:
mode:
authorVladimir Krasheninnikov <boba09@list.ru>2025-03-01 20:31:48 +0100
committerVladimir Krasheninnikov <boba09@list.ru>2025-03-01 20:31:48 +0100
commite9a67335409ccc75a95cf1093bedb47abc17861a (patch)
tree4abe97bc7a6f43a8dd8f891d374d61a829cbfd33 /source/windowing/StarWidgetLuaBindings.cpp
parentec20848c4689e73090963255b6cf923d6859c1be (diff)
Bring new textbox callbacks
Diffstat (limited to 'source/windowing/StarWidgetLuaBindings.cpp')
-rw-r--r--source/windowing/StarWidgetLuaBindings.cpp28
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))