ui/gtk/text.c

changeset 100
d2bd73d28ff1
parent 97
5a3d27b8e6b0
--- 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) {

mercurial