annotate console/libgnt/test/tv.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 a621329e8c85
children 841a5ffbfee4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13883
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
1 #include "gntbutton.h"
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
2 #include "gnt.h"
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
3 #include "gntkeys.h"
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
4 #include "gnttree.h"
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
5 #include "gntbox.h"
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
6 #include "gntentry.h"
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
7 #include "gnttextview.h"
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
8
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
9 static gboolean
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
10 key_pressed(GntWidget *w, const char *key, GntWidget *view)
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
11 {
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
12 if (key[0] == '\r' && key[1] == 0)
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
13 {
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
14 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(view),
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
15 gnt_entry_get_text(GNT_ENTRY(w)),
13896
a621329e8c85 [gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 13883
diff changeset
16 GNT_TEXT_FLAG_HIGHLIGHT);
a621329e8c85 [gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 13883
diff changeset
17 gnt_text_view_next_line(GNT_TEXT_VIEW(view));
13883
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
18 gnt_entry_clear(GNT_ENTRY(w));
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
19 gnt_text_view_scroll(GNT_TEXT_VIEW(view), 0);
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
20
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
21 return TRUE;
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
22 }
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
23 else if (key[0] == 27)
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
24 {
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
25 if (strcmp(key+1, GNT_KEY_UP))
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
26 gnt_text_view_scroll(GNT_TEXT_VIEW(view), 1);
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
27 else if (strcmp(key+1, GNT_KEY_DOWN))
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
28 gnt_text_view_scroll(GNT_TEXT_VIEW(view), -1);
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
29 }
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
30
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
31 return FALSE;
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
32 }
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
33
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
34 int main()
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
35 {
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
36 GntWidget *hbox, *entry, *view;
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
37
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
38 freopen(".error", "w", stderr);
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
39
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
40 gnt_init();
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
41
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
42 box(stdscr, 0, 0);
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
43 wrefresh(stdscr);
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
44
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
45 hbox = gnt_box_new(FALSE, TRUE);
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
46 gnt_widget_set_name(hbox, "hbox");
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
47 gnt_box_set_toplevel(GNT_BOX(hbox), TRUE);
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
48 gnt_box_set_title(GNT_BOX(hbox), "Textview test");
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
49
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
50 entry = gnt_entry_new(NULL);
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
51 gnt_widget_set_name(entry, "entry");
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
52 GNT_WIDGET_SET_FLAGS(entry, GNT_WIDGET_CAN_TAKE_FOCUS);
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
53
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
54 view = gnt_text_view_new();
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
55 gnt_widget_set_name(view, "view");
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
56
13896
a621329e8c85 [gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 13883
diff changeset
57 gnt_widget_set_size(view, 20, 15);
a621329e8c85 [gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 13883
diff changeset
58 gnt_widget_set_size(entry, 20, 1);
13883
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
59
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
60 gnt_box_add_widget(GNT_BOX(hbox), view);
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
61 gnt_box_add_widget(GNT_BOX(hbox), entry);
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
62
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
63 gnt_widget_show(hbox);
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
64
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
65 g_signal_connect(G_OBJECT(entry), "key_pressed", G_CALLBACK(key_pressed), view);
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
66
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
67 gnt_main();
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
68
13907
cc60d0861337 [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 13896
diff changeset
69 gnt_quit();
cc60d0861337 [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 13896
diff changeset
70
13883
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
71 return 0;
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
72 }
ab6376814e73 [gaim-migrate @ 16363]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
73