ui/gtk/menu.h

changeset 16
a499c8a72c15
parent 0
1f419bd32da1
child 21
012418e7dc90
equal deleted inserted replaced
15:7a36f91c22f7 16:a499c8a72c15
41 typedef struct UiMenu UiMenu; 41 typedef struct UiMenu UiMenu;
42 typedef struct UiMenuItem UiMenuItem; 42 typedef struct UiMenuItem UiMenuItem;
43 typedef struct UiStMenuItem UiStMenuItem; 43 typedef struct UiStMenuItem UiStMenuItem;
44 typedef struct UiCheckItem UiCheckItem; 44 typedef struct UiCheckItem UiCheckItem;
45 typedef struct UiCheckItemNV UiCheckItemNV; 45 typedef struct UiCheckItemNV UiCheckItemNV;
46 typedef struct UiMenuItemList UiMenuItemList;
46 47
47 typedef GtkWidget*(*ui_menu_add_f)(GtkWidget *, UiMenuItemI*, UiObject*); 48 typedef struct UiActiveMenuItemList UiActiveMenuItemList;
49
50 typedef GtkWidget*(*ui_menu_add_f)(GtkWidget *, int, UiMenuItemI*, UiObject*);
48 51
49 struct UiMenuItemI { 52 struct UiMenuItemI {
50 ui_menu_add_f add_to; 53 ui_menu_add_f add_to;
51 }; 54 };
52 55
82 UiMenuItemI item; 85 UiMenuItemI item;
83 char *label; 86 char *label;
84 char *varname; 87 char *varname;
85 }; 88 };
86 89
90 struct UiMenuItemList {
91 UiMenuItemI item;
92 ui_callback callback;
93 void *userdata;
94 UiList *list;
95 };
96
97 struct UiActiveMenuItemList {
98 UiObject *object;
99 GtkMenuShell *menu;
100 int index;
101 int oldcount;
102 UiList *list;
103 ui_callback callback;
104 void *userdata;
105 };
106
87 GtkWidget *ui_create_menubar(UiObject *obj); 107 GtkWidget *ui_create_menubar(UiObject *obj);
88 108
89 void add_menu_widget(GtkWidget *parent, UiMenuItemI *item, UiObject *obj); 109 void add_menu_widget(GtkWidget *parent, int i, UiMenuItemI *item, UiObject *obj);
90 void add_menuitem_widget(GtkWidget *parent, UiMenuItemI *item, UiObject *obj); 110 void add_menuitem_widget(GtkWidget *parent, int i, UiMenuItemI *item, UiObject *obj);
91 void add_menuitem_st_widget(GtkWidget *p, UiMenuItemI *item, UiObject *obj); 111 void add_menuitem_st_widget(GtkWidget *p, int i, UiMenuItemI *item, UiObject *obj);
92 void add_menuseparator_widget(GtkWidget *p, UiMenuItemI *item, UiObject *obj); 112 void add_menuseparator_widget(GtkWidget *p, int i, UiMenuItemI *item, UiObject *obj);
93 void add_checkitem_widget(GtkWidget *p, UiMenuItemI *item, UiObject *obj); 113 void add_checkitem_widget(GtkWidget *p, int i, UiMenuItemI *item, UiObject *obj);
94 void add_checkitemnv_widget(GtkWidget *p, UiMenuItemI *item, UiObject *obj); 114 void add_checkitemnv_widget(GtkWidget *p, int i, UiMenuItemI *item, UiObject *obj);
115 void add_menuitem_list_widget(GtkWidget *p, int i, UiMenuItemI *item, UiObject *obj);
95 116
117 void ui_update_menuitem_list(UiEvent *event, UiActiveMenuItemList *list);
96 void ui_menu_event_wrapper(GtkMenuItem *item, UiEventData *event); 118 void ui_menu_event_wrapper(GtkMenuItem *item, UiEventData *event);
97 void ui_menu_event_toggled(GtkCheckMenuItem *ci, UiEventData *event); 119 void ui_menu_event_toggled(GtkCheckMenuItem *ci, UiEventData *event);
98 int ui_checkitem_get(UiInteger *i); 120 int ui_checkitem_get(UiInteger *i);
99 void ui_checkitem_set(UiInteger *i, int value); 121 void ui_checkitem_set(UiInteger *i, int value);
100 122

mercurial