Thu, 29 Jan 2026 20:55:59 +0100
fix missing UiText setselection function (GTK)
| ui/common/types.c | file | annotate | diff | comparison | revisions | |
| ui/gtk/text.c | file | annotate | diff | comparison | revisions | |
| ui/gtk/text.h | file | annotate | diff | comparison | revisions |
--- a/ui/common/types.c Thu Jan 29 19:01:52 2026 +0100 +++ b/ui/common/types.c Thu Jan 29 20:55:59 2026 +0100 @@ -678,6 +678,7 @@ to->insert = from->insert; to->setposition = from->setposition; to->position = from->position; + to->setselection = from->setselection; to->selection = from->selection; to->length = from->length; to->remove = from->remove;
--- a/ui/gtk/text.c Thu Jan 29 19:01:52 2026 +0100 +++ b/ui/gtk/text.c Thu Jan 29 20:55:59 2026 +0100 @@ -186,6 +186,7 @@ value->insert = ui_textarea_insert; value->setposition = ui_textarea_setposition; value->position = ui_textarea_position; + value->setselection = ui_textarea_setselection; value->selection = ui_textarea_selection; value->length = ui_textarea_length; value->remove = ui_textarea_remove; @@ -295,6 +296,15 @@ return text->pos; } +void ui_textarea_setselection(UiText *text, int begin, int end) { + GtkTextBuffer *buf = text->data1; + GtkTextIter ib; + GtkTextIter ie; + gtk_text_buffer_get_iter_at_offset(text->data1, &ib, begin); + gtk_text_buffer_get_iter_at_offset(text->data1, &ie, end); + gtk_text_buffer_select_range(buf, &ib, &ie); +} + void ui_textarea_selection(UiText *text, int *begin, int *end) { GtkTextIter b; GtkTextIter e;
--- a/ui/gtk/text.h Thu Jan 29 19:01:52 2026 +0100 +++ b/ui/gtk/text.h Thu Jan 29 20:55:59 2026 +0100 @@ -120,6 +120,7 @@ void ui_textarea_insert(UiText *text, int pos, char *str); void ui_textarea_setposition(UiText *text, int pos); int ui_textarea_position(UiText *text); +void ui_textarea_setselection(UiText *text, int begin, int end); void ui_textarea_selection(UiText *text, int *begin, int *end); int ui_textarea_length(UiText *text); void ui_textarea_remove(UiText *text, int begin, int end);