#ifndef UIC_ACTION_H
#define UIC_ACTION_H
#include "../ui/toolkit.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct UiAction UiAction;
typedef struct UiActionBinding UiActionBinding;
struct UiAction {
char *name;
char *accelerator;
char *accelerator_text;
ui_callback callback;
void *userdata;
};
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;
void *userdata;
};
void uic_add_action(
UiContext *ctx,
const char *name,
ui_callback callback,
void *userdata,
const char *accelerator,
const char *accelerator_text);
void uic_bind_action(
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);
#ifdef __cplusplus
}
#endif
#endif