comparison finch/libgnt/gntmenu.c @ 15931:f00f2e283ffb

Some define changes. This helps in generating the python bindings.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Mon, 26 Mar 2007 04:10:39 +0000
parents 0e3a8505ebbe
children 3c3fc1432a01 8410511f4dbb
comparison
equal deleted inserted replaced
15930:846a00760176 15931:f00f2e283ffb
26 if (menu->type == GNT_MENU_TOPLEVEL) { 26 if (menu->type == GNT_MENU_TOPLEVEL) {
27 wbkgdset(widget->window, '\0' | COLOR_PAIR(GNT_COLOR_HIGHLIGHT)); 27 wbkgdset(widget->window, '\0' | COLOR_PAIR(GNT_COLOR_HIGHLIGHT));
28 werase(widget->window); 28 werase(widget->window);
29 29
30 for (i = 0, iter = menu->list; iter; iter = iter->next, i++) { 30 for (i = 0, iter = menu->list; iter; iter = iter->next, i++) {
31 GntMenuItem *item = GNT_MENUITEM(iter->data); 31 GntMenuItem *item = GNT_MENU_ITEM(iter->data);
32 type = ' ' | COLOR_PAIR(GNT_COLOR_HIGHLIGHT); 32 type = ' ' | COLOR_PAIR(GNT_COLOR_HIGHLIGHT);
33 if (i == menu->selected) 33 if (i == menu->selected)
34 type |= A_REVERSE; 34 type |= A_REVERSE;
35 item->priv.x = getcurx(widget->window) + widget->priv.x; 35 item->priv.x = getcurx(widget->window) + widget->priv.x;
36 item->priv.y = getcury(widget->window) + widget->priv.y + 1; 36 item->priv.y = getcury(widget->window) + widget->priv.y + 1;
59 } 59 }
60 60
61 static void 61 static void
62 menu_tree_add(GntMenu *menu, GntMenuItem *item, GntMenuItem *parent) 62 menu_tree_add(GntMenu *menu, GntMenuItem *item, GntMenuItem *parent)
63 { 63 {
64 if (GNT_IS_MENUITEM_CHECK(item)) { 64 if (GNT_IS_MENU_ITEM_CHECK(item)) {
65 gnt_tree_add_choice(GNT_TREE(menu), item, 65 gnt_tree_add_choice(GNT_TREE(menu), item,
66 gnt_tree_create_row(GNT_TREE(menu), item->text, " "), parent, NULL); 66 gnt_tree_create_row(GNT_TREE(menu), item->text, " "), parent, NULL);
67 gnt_tree_set_choice(GNT_TREE(menu), item, gnt_menuitem_check_get_checked(GNT_MENUITEM_CHECK(item))); 67 gnt_tree_set_choice(GNT_TREE(menu), item, gnt_menuitem_check_get_checked(GNT_MENU_ITEM_CHECK(item)));
68 } else 68 } else
69 gnt_tree_add_row_last(GNT_TREE(menu), item, 69 gnt_tree_add_row_last(GNT_TREE(menu), item,
70 gnt_tree_create_row(GNT_TREE(menu), item->text, item->submenu ? ">" : " "), parent); 70 gnt_tree_create_row(GNT_TREE(menu), item->text, item->submenu ? ">" : " "), parent);
71 71
72 if (0 && item->submenu) { 72 if (0 && item->submenu) {
73 GntMenu *sub = GNT_MENU(item->submenu); 73 GntMenu *sub = GNT_MENU(item->submenu);
74 GList *iter; 74 GList *iter;
75 for (iter = sub->list; iter; iter = iter->next) { 75 for (iter = sub->list; iter; iter = iter->next) {
76 GntMenuItem *it = GNT_MENUITEM(iter->data); 76 GntMenuItem *it = GNT_MENU_ITEM(iter->data);
77 menu_tree_add(menu, it, item); 77 menu_tree_add(menu, it, item);
78 } 78 }
79 } 79 }
80 } 80 }
81 81
89 } else { 89 } else {
90 /* Populate the tree */ 90 /* Populate the tree */
91 GList *iter; 91 GList *iter;
92 gnt_tree_remove_all(GNT_TREE(widget)); 92 gnt_tree_remove_all(GNT_TREE(widget));
93 for (iter = menu->list; iter; iter = iter->next) { 93 for (iter = menu->list; iter; iter = iter->next) {
94 GntMenuItem *item = GNT_MENUITEM(iter->data); 94 GntMenuItem *item = GNT_MENU_ITEM(iter->data);
95 menu_tree_add(menu, item, NULL); 95 menu_tree_add(menu, item, NULL);
96 } 96 }
97 org_map(widget); 97 org_map(widget);
98 gnt_tree_adjust_columns(GNT_TREE(widget)); 98 gnt_tree_adjust_columns(GNT_TREE(widget));
99 } 99 }
183 } 183 }
184 184
185 static void 185 static void
186 gnt_menu_toggled(GntTree *tree, gpointer key) 186 gnt_menu_toggled(GntTree *tree, gpointer key)
187 { 187 {
188 GntMenuItem *item = GNT_MENUITEM(key); 188 GntMenuItem *item = GNT_MENU_ITEM(key);
189 GntMenu *menu = GNT_MENU(tree); 189 GntMenu *menu = GNT_MENU(tree);
190 gboolean check = gnt_menuitem_check_get_checked(GNT_MENUITEM_CHECK(item)); 190 gboolean check = gnt_menuitem_check_get_checked(GNT_MENU_ITEM_CHECK(item));
191 gnt_menuitem_check_set_checked(GNT_MENUITEM_CHECK(item), !check); 191 gnt_menuitem_check_set_checked(GNT_MENU_ITEM_CHECK(item), !check);
192 if (item->callback) 192 if (item->callback)
193 item->callback(item, item->callbackdata); 193 item->callback(item, item->callbackdata);
194 while (menu) { 194 while (menu) {
195 gnt_widget_hide(GNT_WIDGET(menu)); 195 gnt_widget_hide(GNT_WIDGET(menu));
196 menu = menu->parentmenu; 196 menu = menu->parentmenu;
208 } else { 208 } else {
209 item = gnt_tree_get_selection_data(GNT_TREE(menu)); 209 item = gnt_tree_get_selection_data(GNT_TREE(menu));
210 } 210 }
211 211
212 if (item) { 212 if (item) {
213 if (GNT_IS_MENUITEM_CHECK(item)) 213 if (GNT_IS_MENU_ITEM_CHECK(item))
214 gnt_menu_toggled(GNT_TREE(widget), item); 214 gnt_menu_toggled(GNT_TREE(widget), item);
215 else 215 else
216 menuitem_activate(menu, item); 216 menuitem_activate(menu, item);
217 } 217 }
218 } 218 }