Mercurial > pidgin.yaz
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 } |