3 gcc `pkg-config --cflags gtk+-2.0 hildon-libs` `pkg-config --libs gtk+-2.0 hildon-libs` -o tc_banner_truncate tc_banner_truncate.c && DISPLAY=:2 run-standalone.sh ./tc_banner_truncate 1
5 Usage 1: tc_banner_truncate <case #>
6 Usage 2: tc_banner_truncate <1|2|3> the string you like to be displayed
7 1 -> information banner
14 #include <hildon-widgets/hildon-banner.h>
16 #define WAIT g_timeout_add(3000, (GSourceFunc)(gtk_main_quit), NULL);
18 #define TC_INFO(string) hildon_banner_show_information(window, NULL, string); WAIT;
19 #define TC_ANIM(string) banner = hildon_banner_show_animation(NULL, NULL, string);
20 #define TC_PROG(string) banner = hildon_banner_show_progress (NULL, NULL, string);
22 static void get_argv_string(int argc, char ** argv, char *text);
24 int main(int argc, char **argv)
31 if(argc < 2){ fprintf(stderr, "Add case # as parameter.\n"); return 1;}
32 if(argc >= 2){ if(sscanf(argv[1], "%d", &n) == 0) n = 1;}
33 if(argc > 2){ get_argv_string(argc, argv, text);}
35 gtk_init(&argc, &argv);
37 window = gtk_dialog_new();
40 /* text is given in the command line */
42 case 1: TC_INFO(text); break;
43 case 2: TC_PROG(text); break;
44 case 3: TC_ANIM(text); break;
45 default:TC_INFO(text); break;
51 /* NOTE: comments (*) are given for 0.12.12, with default theme (orange)
52 * (*) "truncated", WRAPPED", etc.
55 case 0: TC_INFO(""); break;
56 case 1: TC_INFO("loading..."); break;
58 case 11: TC_INFO("mmmmmmmmmmmmmmmmmm m.." ); break; //1 line
59 case 12: TC_INFO("mmmmmmmmmmmmmmmmmm m..." ); break; //truncated
60 case 13: TC_INFO("mmmmmmmmmmmmmmmmmm m...." ); break; //truncated
61 case 14: TC_INFO("mmmmmmmmmmmmmmmmmm m....." ); break; //truncated
62 case 15: TC_INFO("mmmmmmmmmmmmmmmmmm m......" ); break; //truncated
63 case 16: TC_INFO("mmmmmmmmmmmmmmmmmm m......." ); break; //truncated
64 case 17: TC_INFO("mmmmmmmmmmmmmmmmmm m........" ); break; //truncated
65 case 18: TC_INFO("mmmmmmmmmmmmmmmmmm m........."); break; //WRAPPED
67 case 21: TC_INFO("maximum number of characters xxxxxxxx"); break; //WRAPPED
68 case 22: TC_INFO("maximum number of characters xxxxxxxi"); break; //truncated
70 case 23: TC_INFO("Maximum number of characters reache" ); break; //1 line
71 case 24: TC_INFO("Maximum number of characters reached" ); break; //truncated
72 case 25: TC_INFO("Maximum number of characters reached." ); break; //truncated
73 case 26: TC_INFO("Maximum number of characters reached " ); break; //truncated
74 case 27: TC_INFO("Maximum number of characters reached a"); break; //WRAPPED
76 /* progress banners */
77 case 101: TC_PROG("" ); break;
78 case 102: TC_PROG("hello" ); break;
79 case 103: TC_PROG("hello progress" ); break;
81 /* Bugzilla related TC */
82 case -1: case 25305: TC_INFO("Maximum number of characters reached"); break;
83 case -2: case 23430: TC_INFO("Unable to manage folders during searching"); break; //PASSED
84 case -3: case 26624: TC_ANIM("Connection Manager - Loading"); break;
85 case -4: case 26161: TC_ANIM("Painel de Controle - carregando"); break;
86 case -5: case 26203: TC_ANIM("Caricamento di Pannello di controllo"); break;
87 case -6: case 27875: TC_ANIM("Instant messaging - loading"); break;
90 /* word longer than max width */
91 case 201: TC_INFO("mmmmmmmmmmmmmmmmmmmmmmmmmmmmm 1 2 3 4"); break;
94 case 202: TC_INFO("Maximum number of characters reached osaidfh galds hgdslf helius grkdsz vfliesdfrjaesfrszri os o ozx oyli l ilij ero worjw aeowaijf osijf a jfaowijef aoweijf s faoij flsaijf sajfd oaijfe aosi e 1 2 3 4"); break; /* TRUNCATED after last 'e' */
97 /* TC for plain GTK (no theme) */
98 case -1031: TC_INFO("iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiil i."); break; //1 line
99 case -1032: TC_INFO("iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiil i."); break; //WRAPPED
101 case -1033: TC_INFO("mmmmmmmmmmmmmmmmmm m................................................i" ); break; //1 line
102 case -1034: TC_INFO("mmmmmmmmmmmmmmmmmm m.................................................i"); break; //WRAPPED
120 /* ############################################################################## */
121 /* ############################################################################## */
122 /* ############################################################################## */
124 static void get_argv_string(int argc, char ** argv, char *text){
128 for(i=2; i<argc; i++){
129 for(j=0; argv[i][j] != '\0'; j++){