add UiEvent eventdatatype

Sun, 13 Jul 2025 11:38:27 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sun, 13 Jul 2025 11:38:27 +0200
changeset 659
d6baaa93f7be
parent 658
b25f54b51d76
child 660
c177258917c3

add UiEvent eventdatatype

ui/common/document.c file | annotate | diff | comparison | revisions
ui/common/object.c file | annotate | diff | comparison | revisions
ui/common/threadpool.c file | annotate | diff | comparison | revisions
ui/common/types.c file | annotate | diff | comparison | revisions
ui/common/wrapper.c file | annotate | diff | comparison | revisions
ui/common/wrapper.h file | annotate | diff | comparison | revisions
ui/gtk/button.c file | annotate | diff | comparison | revisions
ui/gtk/container.c file | annotate | diff | comparison | revisions
ui/gtk/entry.c file | annotate | diff | comparison | revisions
ui/gtk/image.c file | annotate | diff | comparison | revisions
ui/gtk/list.c file | annotate | diff | comparison | revisions
ui/gtk/menu.c file | annotate | diff | comparison | revisions
ui/gtk/range.c file | annotate | diff | comparison | revisions
ui/gtk/text.c file | annotate | diff | comparison | revisions
ui/gtk/toolbar.c file | annotate | diff | comparison | revisions
ui/gtk/toolkit.c file | annotate | diff | comparison | revisions
ui/gtk/toolkit.h file | annotate | diff | comparison | revisions
ui/gtk/window.c file | annotate | diff | comparison | revisions
ui/motif/button.c file | annotate | diff | comparison | revisions
ui/motif/list.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/qt/button.cpp file | annotate | diff | comparison | revisions
ui/qt/menu.cpp file | annotate | diff | comparison | revisions
ui/qt/model.cpp file | annotate | diff | comparison | revisions
ui/qt/toolbar.cpp file | annotate | diff | comparison | revisions
ui/qt/toolkit.cpp file | annotate | diff | comparison | revisions
ui/ui/toolkit.h file | annotate | diff | comparison | revisions
--- a/ui/common/document.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/common/document.c	Sun Jul 13 11:38:27 2025 +0200
@@ -62,6 +62,7 @@
         ev.document = doc;
         ev.obj = NULL;
         ev.eventdata = NULL;
+        ev.eventdatatype = 0;
         ev.intval = 0;
 
         if(ctx->close_callback) {
--- a/ui/common/object.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/common/object.c	Sun Jul 13 11:38:27 2025 +0200
@@ -124,6 +124,7 @@
         ev.document = obj->ctx->document;
         ev.obj = obj;
         ev.eventdata = NULL;
+        ev.eventdatatype = 0;
         ev.intval = 0;
         obj->ctx->close_callback(&ev, obj->ctx->close_data);
     }
--- a/ui/common/threadpool.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/common/threadpool.c	Sun Jul 13 11:38:27 2025 +0200
@@ -165,6 +165,7 @@
     event.document = job->obj->ctx->document;
     event.intval = 0;
     event.eventdata = NULL;
+    event.eventdatatype = 0;
     job->finish_callback(&event, job->finish_data);
     free(job);
     return 0;
--- a/ui/common/types.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/common/types.c	Sun Jul 13 11:38:27 2025 +0200
@@ -77,6 +77,7 @@
     evt.window = NULL;
     evt.document = NULL;
     evt.eventdata = data;
+    evt.eventdatatype = UI_EVENT_DATA_POINTER;
     evt.intval = 0;
     
     while(observer) {
--- a/ui/common/wrapper.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/common/wrapper.c	Sun Jul 13 11:38:27 2025 +0200
@@ -152,6 +152,10 @@
     return event->eventdata;
 }
 
+int ui_event_get_eventdatatype(UiEvent *event) {
+    return event->eventdatatype;
+}
+
 int ui_event_get_int(UiEvent *event) {
     return event->intval;
 }
--- a/ui/common/wrapper.h	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/common/wrapper.h	Sun Jul 13 11:38:27 2025 +0200
@@ -63,6 +63,7 @@
 UIEXPORT void* ui_event_get_document(UiEvent *event);
 UIEXPORT void* ui_event_get_windowdata(UiEvent *event);
 UIEXPORT void* ui_event_get_eventdata(UiEvent *event);
+UIEXPORT int ui_event_get_eventdatatype(UiEvent *event);
 UIEXPORT int ui_event_get_int(UiEvent *event);
 UIEXPORT int ui_event_get_set(UiEvent *event);
 
--- a/ui/gtk/button.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/gtk/button.c	Sun Jul 13 11:38:27 2025 +0200
@@ -73,6 +73,7 @@
         event->callback = onclick;
         event->value = event_value;
         event->customdata = NULL;
+        event->customint = 0;
 
         g_signal_connect(
                 button,
@@ -113,6 +114,7 @@
     e.window = event->obj->window;
     e.document = event->obj->ctx->document;
     e.eventdata = NULL;
+    e.eventdatatype = 0;
     e.intval = event->value;
     e.set = ui_get_setop();
     event->callback(&e, event->userdata);
@@ -137,6 +139,7 @@
     e.window = event->obj->window;
     e.document = event->obj->ctx->document;
     e.eventdata = event->var->value;
+    e.eventdatatype = UI_EVENT_DATA_INTEGER_VALUE;
     e.intval = i->get(i);
     e.set = ui_get_setop();
     
@@ -149,6 +152,7 @@
     e.window = event->obj->window;
     e.document = event->obj->ctx->document;
     e.eventdata = NULL;
+    e.eventdatatype = 0;
     e.intval = gtk_toggle_button_get_active(widget);
     e.set = ui_get_setop();
     event->callback(&e, event->userdata);    
@@ -240,6 +244,7 @@
         event->callback = onchange;
         event->value = 0;
         event->customdata = NULL;
+        event->customint = 0;
         
         g_signal_connect(
                 widget,
@@ -260,6 +265,7 @@
         event->callback = NULL;
         event->value = enable_state;
         event->customdata = NULL;
+        event->customint = 0;
         
         g_signal_connect(
                 widget,
@@ -320,6 +326,7 @@
     e.window = event->obj->window;
     e.document = event->obj->ctx->document;
     e.eventdata = NULL;
+    e.eventdatatype = 0;
     e.intval = gtk_check_button_get_active(widget);
     e.set = ui_get_setop();
     event->callback(&e, event->userdata);    
@@ -391,6 +398,7 @@
     e.window = event->obj->window;
     e.document = event->obj->ctx->document;
     e.eventdata = NULL;
+    e.eventdatatype = 0;
     e.intval = RADIOBUTTON_GET_ACTIVE(widget);
     e.set = ui_get_setop();
     event->callback(&e, event->userdata);    
@@ -483,6 +491,7 @@
         event->callback = args->onchange;
         event->value = 0;
         event->customdata = NULL;
+        event->customint = 0;
         
         g_signal_connect(
                 rbutton,
@@ -510,6 +519,7 @@
     e.window = event->obj->window;
     e.document = event->obj->ctx->document;
     e.eventdata = NULL;
+    e.eventdatatype = 0;
     e.intval = i->get(i);
     
     ui_notify_evt(i->observers, &e);
--- a/ui/gtk/container.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/gtk/container.c	Sun Jul 13 11:38:27 2025 +0200
@@ -706,6 +706,7 @@
     event.document = event.obj->ctx->document;
     event.set = ui_get_setop();
     event.eventdata = NULL;
+    event.eventdatatype = 0;
     event.intval = page_num;
     
     tabview->onchange(&event, tabview->onchange);
@@ -728,6 +729,7 @@
     event.document = event.obj->ctx->document;
     event.set = ui_get_setop();
     event.eventdata = NULL;
+    event.eventdatatype = 0;
     event.intval = 0;
     
     tabview->onchange(&event, tabview->onchange);
--- a/ui/gtk/entry.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/gtk/entry.c	Sun Jul 13 11:38:27 2025 +0200
@@ -150,7 +150,8 @@
     e.obj = event->obj;
     e.window = event->obj->window;
     e.document = event->obj->ctx->document;
-    e.eventdata = &value;
+    e.eventdata = NULL;
+    e.eventdatatype = 0;
     e.intval = (int64_t)value;
     
     if(event->callback) {
--- a/ui/gtk/image.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/gtk/image.c	Sun Jul 13 11:38:27 2025 +0200
@@ -438,6 +438,7 @@
     event.window = event.obj->window;
     event.document = event.obj->ctx->document;
     event.eventdata = NULL;
+    event.eventdatatype = 0;
     event.intval = gtk_gesture_single_get_current_button(GTK_GESTURE_SINGLE(gesture));
     event.set = 0;
     callback(&event, userdata);
--- a/ui/gtk/list.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/gtk/list.c	Sun Jul 13 11:38:27 2025 +0200
@@ -511,6 +511,7 @@
     event.window = event.obj->window;
     event.intval = view->selection.count;
     event.eventdata = &view->selection;
+    event.eventdatatype = UI_EVENT_DATA_LIST_SELECTION;
     event.set = ui_get_setop();
     if(cb) {
         cb(&event, cbdata);
@@ -554,6 +555,7 @@
         event.window = event.obj->window;
         event.intval = index;
         event.eventdata = eventdata->data;
+        event.eventdatatype = UI_EVENT_DATA_LIST_ELM;
         event.set = ui_get_setop();
         view->onactivate(&event, view->onactivatedata);
     }
@@ -591,6 +593,7 @@
         event.window = event.obj->window;
         event.intval = view->selection.count;
         event.eventdata = &view->selection;
+        event.eventdatatype = UI_EVENT_DATA_LIST_SELECTION;
         event.set = ui_get_setop();
         view->onactivate(&event, view->onactivatedata);
     }
@@ -1385,6 +1388,7 @@
         event.window = event.obj->window;
         event.document = event.obj->ctx->document;
         event.eventdata = dnd;
+        event.eventdatatype = UI_EVENT_DATA_DND;
         event.intval = 0;
         event.set = ui_get_setop();
         listview->ondragstart(&event, listview->ondragstartdata);
@@ -1421,6 +1425,7 @@
         event.window = event.obj->window;
         event.document = event.obj->ctx->document;
         event.eventdata = &dnd;
+        event.eventdatatype = UI_EVENT_DATA_DND;
         event.intval = 0;
         event.set = ui_get_setop();
         listview->ondragcomplete(&event, listview->ondragcompletedata);
@@ -1450,6 +1455,7 @@
         event.window = event.obj->window;
         event.document = event.obj->ctx->document;
         event.eventdata = &dnd;
+        event.eventdatatype = UI_EVENT_DATA_DND;
         event.intval = 0;
         event.set = ui_get_setop();
         listview->ondrop(&event, listview->ondropdata);
@@ -2071,6 +2077,7 @@
     event.window = event.obj->window;
     event.document = event.obj->ctx->document;
     event.eventdata = &eventdata;
+    event.eventdatatype = UI_EVENT_DATA_SUBLIST;
     event.intval = data->value0;
     event.set = ui_get_setop();
     
--- a/ui/gtk/menu.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/gtk/menu.c	Sun Jul 13 11:38:27 2025 +0200
@@ -514,6 +514,7 @@
         event->callback = i->callback;
         event->value = 0;
         event->customdata = NULL;
+        event->customint = 0;
 
         g_signal_connect(
                 action,
@@ -613,6 +614,7 @@
     event->userdata = il->userdata;
     event->callback = il->callback;
     event->customdata = var;
+    event->customint = 0;
     event->value = 0;
     
     g_signal_connect(
@@ -638,6 +640,7 @@
     evt.window = event->obj->window;
     evt.document = event->obj->ctx->document;
     evt.eventdata = event->customdata;
+    evt.eventdatatype = event->customint;
     evt.intval = intval;
     event->callback(&evt, event->userdata);    
 }
@@ -652,6 +655,7 @@
     evt.window = event->obj->window;
     evt.document = event->obj->ctx->document;
     evt.eventdata = ui_list_get(list, index);
+    evt.eventdatatype = UI_EVENT_DATA_LIST_ELM;
     evt.intval = index;
     event->callback(&evt, event->userdata);    
     
--- a/ui/gtk/range.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/gtk/range.c	Sun Jul 13 11:38:27 2025 +0200
@@ -62,6 +62,7 @@
         event->callback = f;
         event->value = 0;
         event->customdata = NULL;
+        event->customint = 0;
         
         g_signal_connect(
                 G_OBJECT(scrollbar),
@@ -95,6 +96,7 @@
     e.window = event->obj->window;
     e.document = event->obj->ctx->document;
     e.eventdata = NULL;
+    e.eventdatatype = 0;
     e.intval = event->value;
     event->callback(&e, event->userdata); 
     return TRUE;
--- a/ui/gtk/text.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/gtk/text.c	Sun Jul 13 11:38:27 2025 +0200
@@ -330,6 +330,7 @@
     e.window = e.obj->window;
     e.document = textarea->ctx->document;
     e.eventdata = value;
+    e.eventdatatype = UI_EVENT_DATA_TEXT_VALUE;
     e.intval = 0;
     e.set = ui_get_setop();
     
@@ -691,6 +692,7 @@
     e.window = e.obj->window;
     e.document = textfield->obj->ctx->document;
     e.eventdata = value;
+    e.eventdatatype = UI_EVENT_DATA_TEXT_VALUE;
     e.intval = 0;
     e.set = ui_get_setop();
     
@@ -710,6 +712,7 @@
         e.window = e.obj->window;
         e.document = textfield->obj->ctx->document;
         e.eventdata = NULL;
+        e.eventdatatype = 0;
         e.intval = 0;
         e.set = ui_get_setop();
         textfield->onactivate(&e, textfield->onactivatedata);
@@ -807,6 +810,7 @@
     evt.window = evt.obj->window;
     evt.document = evt.obj->ctx->document;
     evt.eventdata = elm->path;
+    evt.eventdatatype = UI_EVENT_DATA_STRING;
     evt.intval = event->value0;
     evt.set = ui_get_setop();
     event->callback(&evt, event->userdata);
@@ -888,6 +892,7 @@
         evt.window = obj->window;
         evt.document = obj->ctx->document;
         evt.eventdata = (char*)text;
+        evt.eventdatatype = UI_EVENT_DATA_STRING;
         evt.intval = -1;
         pathtf->onactivate(&evt, pathtf->onactivatedata);
     }
--- a/ui/gtk/toolbar.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/gtk/toolbar.c	Sun Jul 13 11:38:27 2025 +0200
@@ -155,6 +155,7 @@
         event->callback = item->args.onclick;
         event->userdata = item->args.onclickdata;
         event->customdata = NULL;
+        event->customint = 0;
         event->value = 0;
         
         g_signal_connect(
@@ -237,6 +238,7 @@
     e.window = event->obj->window;
     e.document = event->obj->ctx->document;
     e.eventdata = NULL;
+    e.eventdatatype = 0;
     e.intval = gtk_toggle_tool_button_get_active(widget);
     
     if(event->callback) {
--- a/ui/gtk/toolkit.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/gtk/toolkit.c	Sun Jul 13 11:38:27 2025 +0200
@@ -191,6 +191,7 @@
     event.document = job->obj->ctx->document;
     event.intval = 0;
     event.eventdata = NULL;
+    event.eventdatatype = 0;
 
     job->finish_callback(&event, job->finish_data);
     free(job);
--- a/ui/gtk/toolkit.h	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/gtk/toolkit.h	Sun Jul 13 11:38:27 2025 +0200
@@ -131,6 +131,7 @@
     ui_callback callback;
     void        *userdata;
     int         value;
+    int         customint;
     void        *customdata;
 } UiEventData;
 
--- a/ui/gtk/window.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/gtk/window.c	Sun Jul 13 11:38:27 2025 +0200
@@ -312,6 +312,8 @@
     evt.document = evt.obj->ctx->document;
     evt.window = evt.obj->window;
     evt.eventdata = NULL;
+    evt.eventdatatype = 0;
+    evt.eventdatatype = 0;
     evt.intval = 0;
     
     if(!strcmp(response, "btn1")) {
@@ -323,6 +325,7 @@
     if(data->customdata) {
         GtkWidget *entry = data->customdata;
         evt.eventdata = (void*)ENTRY_GET_TEXT(GTK_ENTRY(entry));
+        evt.eventdatatype = UI_EVENT_DATA_STRING;
     }
     
     if(data->callback) {
@@ -336,6 +339,7 @@
     event->callback = args.result;
     event->userdata = args.resultdata;
     event->customdata = NULL;
+    event->customint = 0;
     event->value = 0;
     event->obj = parent;
     
@@ -361,6 +365,7 @@
         }
         adw_alert_dialog_set_extra_child(ADW_ALERT_DIALOG(dialog), entry);
         event->customdata = entry;
+        event->customint = 0;
     }
     
     g_signal_connect(
@@ -517,6 +522,7 @@
     flist.files = NULL;
     flist.nfiles = 0;
     evt.eventdata = &flist;
+    evt.eventdatatype = UI_EVENT_DATA_FILE_LIST;
     
     if(selection) {
         flist = listmodel2filelist(selection);
@@ -551,6 +557,7 @@
     event->callback = file_selected_callback;
     event->userdata = cbdata;
     event->customdata = NULL;
+    event->customint = 0;
     event->value = mode;
     event->obj = obj;
     
--- a/ui/motif/button.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/motif/button.c	Sun Jul 13 11:38:27 2025 +0200
@@ -173,6 +173,7 @@
     e.window = e.obj->window;
     e.document = e.obj->ctx->document;
     e.eventdata = NULL;
+    e.eventdatatype = 0;
     e.intval = XmToggleButtonGetState(w);
     e.set = ui_get_setop();
     
@@ -282,6 +283,7 @@
     e.window = e.obj->window;
     e.document = e.obj->ctx->document;
     e.eventdata = value;
+    e.eventdatatype = UI_EVENT_DATA_INTEGER_VALUE;
     e.intval = v;
     e.set = ui_get_setop();
     
--- a/ui/motif/list.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/motif/list.c	Sun Jul 13 11:38:27 2025 +0200
@@ -134,6 +134,7 @@
     event.window = obj->window;
     event.document = obj->ctx->document;
     event.eventdata = &sel;
+    event.eventdatatype = UI_EVENT_DATA_LIST_SELECTION;
     event.intval = sel.count > 0 ? sel.rows[0] : -1;
     callback(&event, userdata);
 }
@@ -248,6 +249,7 @@
     event.window = event.obj->window;
     event.document = event.obj->ctx->document;
     event.eventdata = elm;
+    event.eventdatatype = UI_EVENT_DATA_LIST_ELM;
     event.intval = index;
     if(listview->onactivate) {
         listview->onactivate(&event, listview->onactivatedata);
--- a/ui/motif/text.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/motif/text.c	Sun Jul 13 11:38:27 2025 +0200
@@ -961,6 +961,7 @@
     evt.window = evt.obj->window;
     evt.document = evt.obj->ctx->document;
     evt.eventdata = path;
+    evt.eventdatatype = UI_EVENT_DATA_STRING;
     evt.intval = index;
     event->callback(&evt, event->userdata);
 }
--- a/ui/motif/toolkit.c	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/motif/toolkit.c	Sun Jul 13 11:38:27 2025 +0200
@@ -202,6 +202,7 @@
         event.document = job->obj->ctx->document;
         event.intval = 0;
         event.eventdata = NULL;
+        event.eventdatatype = 0;
         job->finish_callback(&event, job->finish_data);
     }
     free(job);
--- a/ui/qt/button.cpp	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/qt/button.cpp	Sun Jul 13 11:38:27 2025 +0200
@@ -53,6 +53,7 @@
     event->intval = button->isChecked();
     if(wrapper->var) {
         event->eventdata = wrapper->var->value;
+        event->eventdatatype = UI_EVENT_DATA_INTEGER_VALUE;
     }
 }
 
@@ -111,6 +112,7 @@
     event->intval = button->isChecked();
     if(wrapper->var) {
         event->eventdata = wrapper->var->value;
+        event->eventdatatype = UI_EVENT_DATA_INTEGER_VALUE;
     }
 }
 
@@ -169,6 +171,7 @@
     if(wrapper->var) {
         UiInteger *value = (UiInteger*)wrapper->var->value;
         event->eventdata = value;
+        event->eventdatatype = UI_EVENT_DATA_INTEGER_VALUE;
         event->intval = value->get(value);
     }
 }
--- a/ui/qt/menu.cpp	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/qt/menu.cpp	Sun Jul 13 11:38:27 2025 +0200
@@ -157,6 +157,7 @@
     if(action->var) {
         UiInteger *value = (UiInteger*)action->var->value;
         event->eventdata = value;
+        event->eventdatatype = UI_EVENT_DATA_INTEGER_VALUE;
         event->intval = value->get(value);
     }
 }
@@ -217,6 +218,7 @@
 void ui_checkableaction_prepare_event(UiEvent *event, UiAction *action) {
     if(action->var) {
         event->eventdata = action->var->value;
+        event->eventdatatype = UI_EVENT_DATA_INTEGER_VALUE;
     }
     event->intval = action->isChecked();
 }
--- a/ui/qt/model.cpp	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/qt/model.cpp	Sun Jul 13 11:38:27 2025 +0200
@@ -100,6 +100,7 @@
     event.window = obj->window;
     event.document = obj->ctx->document;
     event.eventdata = &sel;
+    event.eventdatatype = UI_EVENT_DATA_LIST_SELECTION;
     event.intval = sel.count;
     event.set = ui_get_setop();
     
@@ -213,6 +214,7 @@
     event.window = obj->window;
     event.document = obj->ctx->document;
     event.eventdata = &sel;
+    event.eventdatatype = UI_EVENT_DATA_LIST_SELECTION;
     event.intval = sel.count;
     event.set = ui_get_setop();
     
--- a/ui/qt/toolbar.cpp	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/qt/toolbar.cpp	Sun Jul 13 11:38:27 2025 +0200
@@ -104,6 +104,7 @@
     event->intval = action->isChecked();
     if(wrapper->var) {
         event->eventdata = wrapper->var->value;
+        event->eventdatatype = UI_EVENT_DATA_INTEGER_VALUE;
     }
 }
 
--- a/ui/qt/toolkit.cpp	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/qt/toolkit.cpp	Sun Jul 13 11:38:27 2025 +0200
@@ -137,6 +137,7 @@
     e.window = obj->window;
     e.document = obj->ctx->document;
     e.eventdata = NULL;
+    e.eventdatatype = 0;
     e.intval = 0;
     e.set = ui_get_setop();
     if(prepare_event) {
@@ -174,6 +175,7 @@
     e.window = obj->window;
     e.document = obj->ctx->document;
     e.eventdata = NULL;
+    e.eventdatatype = 0;
     e.intval = 0;
     e.set = ui_get_setop();
     if(prepare_event) {
--- a/ui/ui/toolkit.h	Sun Jul 13 11:02:45 2025 +0200
+++ b/ui/ui/toolkit.h	Sun Jul 13 11:38:27 2025 +0200
@@ -319,6 +319,7 @@
     void     *document;
     void     *window;
     void     *eventdata;
+    int      eventdatatype;
     int      intval;
     int      set;
 };
@@ -473,6 +474,22 @@
     int intdata;
 } UiCondVar;
 
+enum UiEventType {
+    UI_EVENT_DATA_NULL = 0,
+    UI_EVENT_DATA_POINTER,
+    UI_EVENT_DATA_STRING,
+    UI_EVENT_DATA_INTEGER_VALUE,
+    UI_EVENT_DATA_STRING_VALUE,
+    UI_EVENT_DATA_TEXT_VALUE,
+    UI_EVENT_DATA_DOUBLE_VALUE,
+    UI_EVENT_DATA_RANGE_VALUE,
+    UI_EVENT_DATA_LIST_SELECTION,
+    UI_EVENT_DATA_LIST_ELM,
+    UI_EVENT_DATA_DND,
+    UI_EVENT_DATA_SUBLIST,
+    UI_EVENT_DATA_FILE_LIST
+};
+
 
 UIEXPORT void ui_init(const char *appname, int argc, char **argv);
 UIEXPORT const char* ui_appname();

mercurial