ui/motif/text.c

changeset 1045
e855396fd839
parent 967
ff4a8d10307b
--- a/ui/motif/text.c	Sun Jan 11 14:59:15 2026 +0100
+++ b/ui/motif/text.c	Sun Jan 11 15:10:20 2026 +0100
@@ -492,6 +492,39 @@
     return create_textfield(obj, args, FALSE, FALSE);
 }
 
+void ui_textfield_focus(UIWIDGET textfield) {
+    ui_textfield_focus_without_selecting(textfield);
+    ui_textfield_select_all(textfield);
+}
+
+void ui_textfield_focus_without_selecting(UIWIDGET textfield) {
+    XmProcessTraversal(textfield, XmTRAVERSE_CURRENT);
+}
+
+void ui_textfield_set_selection(UIWIDGET textfield, int begin, int end) {
+    XmTextSetSelection(textfield, begin, end, 0);
+}
+
+void ui_textfield_select_all(UIWIDGET textfield) {
+    XmTextSetSelection(textfield, 0, XmTextGetLastPosition(textfield), 0);
+}
+
+void ui_textfield_set_editable(UIWIDGET textfield, UiBool editable) {
+    XmTextFieldSetEditable(textfield, editable);
+}
+
+UiBool ui_textfield_is_editable(UIWIDGET textfield) {
+    return XmTextFieldGetEditable(textfield);
+}
+
+void ui_textfield_set_position(UIWIDGET textfield, int pos) {
+    XmTextFieldSetInsertionPosition(textfield, pos);
+}
+
+int ui_textfield_get_position(UIWIDGET textfield) {
+    return (int)XmTextFieldGetInsertionPosition(textfield);
+}
+
 char* ui_textfield_get(UiString *str) {
     if(str->value.free) {
         str->value.free(str->value.ptr);

mercurial