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;
 }