#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