--- 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 }