Sun, 11 Jan 2026 15:10:20 +0100
extend textfield API (Motif)
| ui/gtk/text.c | file | annotate | diff | comparison | revisions | |
| ui/motif/text.c | file | annotate | diff | comparison | revisions | |
| ui/motif/toolkit.c | file | annotate | diff | comparison | revisions | |
| ui/ui/text.h | file | annotate | diff | comparison | revisions |
--- 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) {
--- 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);
--- 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 <cx/buffer.h> #include <X11/Intrinsic.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);