comparison console/libgnt/test/tv.c @ 14091:ae4cbed1b309

[gaim-migrate @ 16715] Add support for tab-completion and save-history in GntEntry. Also, the keyboard-commands should now work for Xterms. committer: Tailor Script <tailor@pidgin.im>
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Sat, 12 Aug 2006 10:27:29 +0000
parents 27182f83b79b
children eaf7f35635bc
comparison
equal deleted inserted replaced
14090:983fbec46eb0 14091:ae4cbed1b309
12 if (key[0] == '\r' && key[1] == 0) 12 if (key[0] == '\r' && key[1] == 0)
13 { 13 {
14 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(view), 14 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(view),
15 gnt_entry_get_text(GNT_ENTRY(w)), 15 gnt_entry_get_text(GNT_ENTRY(w)),
16 GNT_TEXT_FLAG_HIGHLIGHT); 16 GNT_TEXT_FLAG_HIGHLIGHT);
17 gnt_entry_add_to_history(GNT_ENTRY(w), gnt_entry_get_text(GNT_ENTRY(w)));
17 gnt_text_view_next_line(GNT_TEXT_VIEW(view)); 18 gnt_text_view_next_line(GNT_TEXT_VIEW(view));
18 gnt_entry_clear(GNT_ENTRY(w)); 19 gnt_entry_clear(GNT_ENTRY(w));
19 if (gnt_text_view_get_lines_below(GNT_TEXT_VIEW(view)) <= 1) 20 if (gnt_text_view_get_lines_below(GNT_TEXT_VIEW(view)) <= 1)
20 gnt_text_view_scroll(GNT_TEXT_VIEW(view), 0); 21 gnt_text_view_scroll(GNT_TEXT_VIEW(view), 0);
22 gnt_entry_remove_suggest(GNT_ENTRY(w), "acb");
21 23
22 return TRUE; 24 return TRUE;
23 } 25 }
24 else if (key[0] == 27) 26 else if (key[0] == 27)
25 { 27 {
26 if (strcmp(key+1, GNT_KEY_UP)) 28 if (strcmp(key+1, GNT_KEY_UP) == 0)
29 gnt_text_view_scroll(GNT_TEXT_VIEW(view), -1);
30 else if (strcmp(key+1, GNT_KEY_DOWN) == 0)
27 gnt_text_view_scroll(GNT_TEXT_VIEW(view), 1); 31 gnt_text_view_scroll(GNT_TEXT_VIEW(view), 1);
28 else if (strcmp(key+1, GNT_KEY_DOWN)) 32 else
29 gnt_text_view_scroll(GNT_TEXT_VIEW(view), -1); 33 return FALSE;
34 return TRUE;
30 } 35 }
31 36
32 return FALSE; 37 return FALSE;
33 } 38 }
34 39
51 56
52 entry = gnt_entry_new(NULL); 57 entry = gnt_entry_new(NULL);
53 gnt_widget_set_name(entry, "entry"); 58 gnt_widget_set_name(entry, "entry");
54 GNT_WIDGET_SET_FLAGS(entry, GNT_WIDGET_CAN_TAKE_FOCUS); 59 GNT_WIDGET_SET_FLAGS(entry, GNT_WIDGET_CAN_TAKE_FOCUS);
55 60
61 gnt_entry_set_word_suggest(GNT_ENTRY(entry), TRUE);
62 gnt_entry_set_always_suggest(GNT_ENTRY(entry), FALSE);
63 gnt_entry_add_suggest(GNT_ENTRY(entry), "a");
64 gnt_entry_add_suggest(GNT_ENTRY(entry), "ab");
65 gnt_entry_add_suggest(GNT_ENTRY(entry), "abc");
66 gnt_entry_add_suggest(GNT_ENTRY(entry), "abcd");
67 gnt_entry_add_suggest(GNT_ENTRY(entry), "abcde");
68 gnt_entry_add_suggest(GNT_ENTRY(entry), "acb");
69
56 view = gnt_text_view_new(); 70 view = gnt_text_view_new();
57 gnt_widget_set_name(view, "view"); 71 gnt_widget_set_name(view, "view");
58 72
59 gnt_widget_set_size(view, 20, 15); 73 gnt_widget_set_size(view, 20, 15);
60 gnt_widget_set_size(entry, 20, 1); 74 gnt_widget_set_size(entry, 20, 1);
63 gnt_box_add_widget(GNT_BOX(hbox), entry); 77 gnt_box_add_widget(GNT_BOX(hbox), entry);
64 gnt_box_add_widget(GNT_BOX(hbox), gnt_button_new("OK")); 78 gnt_box_add_widget(GNT_BOX(hbox), gnt_button_new("OK"));
65 79
66 gnt_widget_show(hbox); 80 gnt_widget_show(hbox);
67 81
68 g_signal_connect(G_OBJECT(entry), "key_pressed", G_CALLBACK(key_pressed), view); 82 gnt_entry_set_history_length(GNT_ENTRY(entry), -1);
83 g_signal_connect_after(G_OBJECT(entry), "key_pressed", G_CALLBACK(key_pressed), view);
69 84
70 #ifdef STANDALONE 85 #ifdef STANDALONE
71 gnt_main(); 86 gnt_main();
72 87
73 gnt_quit(); 88 gnt_quit();