--- a/ui/gtk/text.c Fri Nov 29 22:21:36 2024 +0100 +++ b/ui/gtk/text.c Thu Dec 12 20:01:43 2024 +0100 @@ -551,6 +551,8 @@ uitext->var = var; uitext->onchange = args.onchange; uitext->onchangedata = args.onchangedata; + uitext->onactivate = args.onactivate; + uitext->onactivatedata = args.onactivatedata; g_signal_connect( textfield, @@ -599,6 +601,14 @@ uitext); } + if(args.onactivate) { + g_signal_connect( + textfield, + "activate", + G_CALLBACK(ui_textfield_activate), + uitext); + } + return textfield; } @@ -638,6 +648,17 @@ } } +void ui_textfield_activate(GtkEntry* self, UiTextField *textfield) { + if(textfield->onactivate) { + UiEvent e; + e.obj = textfield->obj; + e.window = e.obj->window; + e.document = textfield->obj->ctx->document; + e.eventdata = NULL; + e.intval = 0; + textfield->onactivate(&e, textfield->onactivatedata); + } +} char* ui_textfield_get(UiString *str) { if(str->value.ptr) {