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 |