Mercurial > pidgin.yaz
diff console/libgnt/test/focus.c @ 13907:cc60d0861337
[gaim-migrate @ 16402]
This commit has 1234 lines of diff :)
Windows can now be moved (alt+m, then the arrow keys, then escape/enter).
Add a window to enable/disable accounts. But the 'add' etc. buttons don't
have any callbacks yet. I am going to need to do some more widgets (checkbox,
combobox) before I do anything else.
I have also updated the test programs to work with the changes in libgnt.
committer: Tailor Script <tailor@pidgin.im>
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Sun, 02 Jul 2006 22:13:06 +0000 |
parents | ab6376814e73 |
children | 25be562aaca8 |
line wrap: on
line diff
--- a/console/libgnt/test/focus.c Sun Jul 02 21:52:06 2006 +0000 +++ b/console/libgnt/test/focus.c Sun Jul 02 22:13:06 2006 +0000 @@ -6,44 +6,79 @@ #include "gntentry.h" #include "gntlabel.h" +static void +toggled(GntWidget *tree, gpointer key, gpointer null) +{ + GntWidget *w = gnt_box_new(FALSE, FALSE); + + gnt_box_set_toplevel(GNT_BOX(w), TRUE); + + gnt_box_add_widget(GNT_BOX(w), + gnt_label_new(gnt_tree_get_choice(GNT_TREE(tree), key) ? "Selected" : "NOT")); + gnt_widget_show(w); +} + int main() { gnt_init(); GntWidget *label = gnt_label_new("So wassup dudes and dudettes!!\nSo this is, like,\nthe third line!! \\o/"); - GntWidget *vbox, *hbox, *tree; + GntWidget *vbox, *hbox, *tree, *box, *button; WINDOW *test; box(stdscr, 0, 0); wrefresh(stdscr); vbox = gnt_box_new(FALSE, FALSE); - hbox = gnt_box_new(FALSE, TRUE); + hbox = gnt_box_new(TRUE, TRUE); gnt_widget_set_name(vbox, "vbox"); gnt_widget_set_name(hbox, "hbox"); gnt_box_add_widget(GNT_BOX(hbox), label); - gnt_box_add_widget(GNT_BOX(hbox), vbox); + + GntWidget *entry = gnt_entry_new("a"); + gnt_widget_set_name(entry, "entry"); + gnt_box_add_widget(GNT_BOX(hbox), entry); - gnt_box_add_widget(GNT_BOX(hbox), gnt_entry_new("a")); - + box = gnt_box_new(FALSE, FALSE); tree = gnt_tree_new(); - gnt_box_add_widget(GNT_BOX(hbox), tree); + gnt_widget_set_name(tree, "tree"); + gnt_box_add_widget(GNT_BOX(box), tree); + gnt_box_add_widget(GNT_BOX(hbox), box); gnt_tree_add_row_after(GNT_TREE(tree), "a", "a", NULL, NULL); gnt_tree_add_row_after(GNT_TREE(tree), "c", "c", NULL, NULL); gnt_tree_add_row_after(GNT_TREE(tree), "d", "d", NULL, NULL); gnt_tree_add_row_after(GNT_TREE(tree), "e", "e", "a", NULL); - gnt_tree_add_row_after(GNT_TREE(tree), "b", "b", "d", NULL); + gnt_tree_add_choice(GNT_TREE(tree), "b", "b", "d", NULL); GNT_WIDGET_UNSET_FLAGS(hbox, GNT_WIDGET_NO_BORDER | GNT_WIDGET_NO_SHADOW); gnt_box_set_title(GNT_BOX(hbox), "This is the title …"); + + g_signal_connect(G_OBJECT(tree), "toggled", G_CALLBACK(toggled), NULL); + + button = gnt_button_new("one"); + gnt_widget_set_name(button, "one"); + gnt_box_add_widget(GNT_BOX(vbox), button); + + button = gnt_button_new("two"); + gnt_widget_set_name(button, "two"); + gnt_box_add_widget(GNT_BOX(vbox), button); + + button = gnt_button_new("three"); + gnt_widget_set_name(button, "three"); + gnt_box_add_widget(GNT_BOX(vbox), button); + + gnt_box_add_widget(GNT_BOX(hbox), vbox); + gnt_widget_show(hbox); gnt_main(); + gnt_quit(); + return 0; }