# HG changeset patch # User Olaf Wintermann # Date 1768140620 -3600 # Node ID e855396fd8391ec1dc77cc8f395b42ab28b90c9c # Parent c6b58646c24953da3312af6691017c58d62d6cd4 extend textfield API (Motif) diff -r c6b58646c249 -r e855396fd839 ui/gtk/text.c --- a/ui/gtk/text.c Sun Jan 11 14:59:15 2026 +0100 +++ b/ui/gtk/text.c Sun Jan 11 15:10:20 2026 +0100 @@ -699,8 +699,8 @@ #endif } -void ui_textfield_set_selection(UIWIDGET textfield, int begin, int length) { - ENTRY_SET_SELECTION(textfield, begin, begin+length); +void ui_textfield_set_selection(UIWIDGET textfield, int begin, int end) { + ENTRY_SET_SELECTION(textfield, begin, end); } void ui_textfield_select_all(UIWIDGET textfield) { diff -r c6b58646c249 -r e855396fd839 ui/motif/text.c --- 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); diff -r c6b58646c249 -r e855396fd839 ui/motif/toolkit.c --- a/ui/motif/toolkit.c Sun Jan 11 14:59:15 2026 +0100 +++ b/ui/motif/toolkit.c Sun Jan 11 15:10:20 2026 +0100 @@ -39,6 +39,7 @@ #include "../common/document.h" #include "../common/properties.h" #include "../common/app.h" +#include "../common/threadpool.h" #include #include diff -r c6b58646c249 -r e855396fd839 ui/ui/text.h --- a/ui/ui/text.h Sun Jan 11 14:59:15 2026 +0100 +++ b/ui/ui/text.h Sun Jan 11 15:10:20 2026 +0100 @@ -158,7 +158,7 @@ UIEXPORT void ui_textfield_focus(UIWIDGET textfield); UIEXPORT void ui_textfield_focus_without_selecting(UIWIDGET textfield); -UIEXPORT void ui_textfield_set_selection(UIWIDGET textfield, int begin, int length); +UIEXPORT void ui_textfield_set_selection(UIWIDGET textfield, int begin, int end); UIEXPORT void ui_textfield_select_all(UIWIDGET textfield); UIEXPORT void ui_textfield_set_editable(UIWIDGET textfield, UiBool editable); UIEXPORT UiBool ui_textfield_is_editable(UIWIDGET textfield);