ui/gtk/menu.c

changeset 836
5a8485ff7f54
parent 801
e096c441e874
child 849
63623ef950e5
equal deleted inserted replaced
835:a0e1ff100512 836:5a8485ff7f54
134 uic_add_group_widget(obj->ctx, widget, (ui_enablefunc)ui_set_enabled, groups); 134 uic_add_group_widget(obj->ctx, widget, (ui_enablefunc)ui_set_enabled, groups);
135 cxListFree(groups); 135 cxListFree(groups);
136 } 136 }
137 } 137 }
138 138
139 /*
140 void add_menuitem_st_widget(
141 GtkWidget *parent,
142 int index,
143 UiMenuItemI *item,
144 UiObject *obj)
145 {
146 UiStMenuItem *i = (UiStMenuItem*)item;
147
148 GtkWidget *widget = gtk_image_menu_item_new_from_stock(i->stockid, obj->ctx->accel_group);
149
150 if(i->callback != NULL) {
151 UiEventData *event = malloc(sizeof(UiEventData));
152 event->obj = obj;
153 event->userdata = i->userdata;
154 event->callback = i->callback;
155 event->value = 0;
156
157 g_signal_connect(
158 widget,
159 "activate",
160 G_CALLBACK(ui_menu_event_wrapper),
161 event);
162 g_signal_connect(
163 widget,
164 "destroy",
165 G_CALLBACK(ui_destroy_userdata),
166 event);
167 }
168
169 gtk_menu_shell_append(GTK_MENU_SHELL(parent), widget);
170
171 if(i->groups) {
172 uic_add_group_widget(obj->ctx, widget, (ui_enablefunc)ui_set_enabled, i->groups);
173 }
174 }
175 */
176
177 void add_menuseparator_widget( 139 void add_menuseparator_widget(
178 GtkWidget *parent, 140 GtkWidget *parent,
179 int index, 141 int index,
180 UiMenuItemI *item, 142 UiMenuItemI *item,
181 UiObject *obj) 143 UiObject *obj)
212 } 174 }
213 175
214 void add_radioitem_widget(GtkWidget *p, int index, UiMenuItemI *item, UiObject *obj) { 176 void add_radioitem_widget(GtkWidget *p, int index, UiMenuItemI *item, UiObject *obj) {
215 // TODO 177 // TODO
216 } 178 }
217
218 /*
219 void add_checkitemnv_widget(GtkWidget *p, int index, UiMenuItemI *item, UiObject *obj) {
220 UiCheckItemNV *ci = (UiCheckItemNV*)item;
221 GtkWidget *widget = gtk_check_menu_item_new_with_mnemonic(ci->label);
222 gtk_menu_shell_append(GTK_MENU_SHELL(p), widget);
223
224 UiVar *var = uic_create_var(obj->ctx, ci->varname, UI_VAR_INTEGER);
225 if(var) {
226 UiInteger *value = var->value;
227 value->obj = widget;
228 value->get = ui_checkitem_get;
229 value->set = ui_checkitem_set;
230 value = 0;
231 } else {
232 // TODO: error
233 }
234 }
235 */
236 179
237 static void menuitem_list_remove_binding(void *obj) { 180 static void menuitem_list_remove_binding(void *obj) {
238 UiActiveMenuItemList *ls = obj; 181 UiActiveMenuItemList *ls = obj;
239 UiList *list = ls->var->value; 182 UiList *list = ls->var->value;
240 CxList *bindings = list->obj; 183 CxList *bindings = list->obj;

mercurial