ui/common/action.h

changeset 1092
0accf125a65f
parent 1066
afe02792303d
--- a/ui/common/action.h	Thu Apr 16 17:41:35 2026 +0200
+++ b/ui/common/action.h	Fri Apr 17 13:21:11 2026 +0200
@@ -44,14 +44,12 @@
     char *accelerator_text;
     ui_callback callback;
     void *userdata;
+    UiContext *ctx;
 };
 
-typedef void (*ui_action_binding_set_enabled_func)(void *bind_obj, UiBool enabled);
-typedef void (*ui_action_binding_set_accelerator_text_func)(void *bind_obj, const char *text);
 struct UiActionBinding {
     const char *action;
-    ui_action_binding_set_enabled_func set_enabled;
-    ui_action_binding_set_accelerator_text_func set_accelerator_text;
+    ui_enablefunc set_enabled;
     void *userdata;
 };
 
@@ -67,8 +65,13 @@
         UiContext *ctx,
         const char *action,
         void *bind_obj,
-        ui_action_binding_set_enabled_func set_enabled,
-        ui_action_binding_set_accelerator_text_func set_accelerator_text);
+        ui_enablefunc set_enabled);
+
+UiAction* uic_resolve_action(UiContext *ctx, const char *action);
+UiAction* uic_resolve_action_from_parents(UiContext *ctx, const char *action);
+
+// action event wrapper
+void uic_action_callback(UiEvent *event, const char *action_name);
 
 #ifdef __cplusplus
 }

mercurial