SameBoy/gtk3/check_menu_radio_group.h

24 lines
808 B
C
Raw Normal View History

#ifndef check_menu_radio_group_h
#define check_menu_radio_group_h
#include <stdbool.h>
#include <gtk/gtk.h>
typedef struct CheckMenuItemGroupHandlerData {
struct CheckMenuItemGroup *group;
char *arg;
bool (*handler)(GtkWidget *, void *);
} CheckMenuItemGroupHandlerData;
typedef struct CheckMenuItemGroup {
unsigned count;
GtkWidget **items;
CheckMenuItemGroupHandlerData **handlers;
} CheckMenuItemGroup;
CheckMenuItemGroup *check_menu_item_group_new(char **names, char **args);
void check_menu_item_group_activate(CheckMenuItemGroup *group, char *arg);
void check_menu_item_group_connect_toggle_signal(CheckMenuItemGroup *group, bool (*handler)(GtkWidget *, gpointer));
void check_menu_item_group_insert_into_menu_shell(CheckMenuItemGroup *group, GtkMenuShell *menu_shell, gint position);
#endif