root / hope.h @ 0:3c15de202295
History | View | Annotate | Download (4.29 KB)
1 | 0:3c15de202295 | ee11d037 | |
---|---|---|---|
2 | #include "common.h" |
||
3 | #include <unistd.h> |
||
4 | #include <glib.h> |
||
5 | #include <gdk/gdk.h> |
||
6 | #include <pthread.h> |
||
7 | #include <time.h> |
||
8 | #include <ctype.h> |
||
9 | |||
10 | #define MAX_STR_LEN 155 |
||
11 | #define MAX_LEN 30 |
||
12 | #define SLEN 30 |
||
13 | #define CONFIG_FILE "aac.conf" |
||
14 | #define LOG_FILE_PREFIX "/logs/" |
||
15 | #define YES_IT_IS (1) |
||
16 | #define NO_IT_IS_NOT (0) |
||
17 | |||
18 | typedef struct |
||
19 | { |
||
20 | GtkWidget *label; |
||
21 | int what;
|
||
22 | int index;
|
||
23 | } yes_or_no_args; |
||
24 | |||
25 | static volatile int yes_or_no = YES_IT_IS; |
||
26 | |||
27 | extern int spell_mode; |
||
28 | |||
29 | extern int wait_time; |
||
30 | |||
31 | extern char label[9][6]; |
||
32 | |||
33 | |||
34 | char icon[][30] = { "icons/strawberry.png", "icons/book.png", "icons/home1.png", |
||
35 | "icons/car.png", "icons/flower.png", "icons/banana.png", |
||
36 | "icons/pencil.png", "icons/smile_1.png", "icons/ice_cream.png","icons/sun.png" |
||
37 | }; |
||
38 | // for pridiction 17 apr
|
||
39 | char strpridict[50]=""; |
||
40 | int flagpridict=0; |
||
41 | |||
42 | |||
43 | //Array containing the selected words
|
||
44 | char text_array[MAX_LEN][MAX_STR_LEN];
|
||
45 | |||
46 | //Index of the above array to know the last word and also to know where to append
|
||
47 | int current_index = 0; |
||
48 | int spell_index = 0; |
||
49 | |||
50 | //The word to be concatenated to the selected list of words
|
||
51 | char text_to_add [MAX_STR_LEN];
|
||
52 | |||
53 | //The character/string for which the dictionary has to be searched
|
||
54 | char query_string[MAX_LEN];
|
||
55 | |||
56 | //Number of results after the grep operation
|
||
57 | int no_of_results = 0; |
||
58 | |||
59 | //Config file pointer
|
||
60 | FILE *fp; |
||
61 | |||
62 | //Window that contains the whole GUI
|
||
63 | GtkWidget *window; |
||
64 | |||
65 | //Divided into table for even ordering of UI components
|
||
66 | GtkWidget *table; |
||
67 | |||
68 | //Buttons for the first level with labels ABC, DEF etc
|
||
69 | //button[0] first button (default ABC) and so on...
|
||
70 | GtkWidget *button[10];
|
||
71 | |||
72 | //buttons for the 3 alphabets (single_button[0-2]
|
||
73 | //BACK single_button[3]
|
||
74 | //DONE single_button[4]
|
||
75 | //ERASE single_button[5]
|
||
76 | //single_button_label are the respective labels
|
||
77 | |||
78 | GtkWidget *single_button[6];
|
||
79 | GtkWidget *single_button_label[6];
|
||
80 | |||
81 | //entry_label gives the components in the third level of scan
|
||
82 | //MORE entry_label[5]
|
||
83 | //BACK entry_label[6]
|
||
84 | //predicted text contains the list of selected words
|
||
85 | GtkWidget *entry_label[7], *sentence_box;
|
||
86 | GtkWidget *morebutton, *backbutton; |
||
87 | |||
88 | //Colours being used for highlighting the buttons and labels
|
||
89 | GdkColor colorRed; |
||
90 | GdkColor colorBlack = {1, 0x0000, 0x0000, 0x0000}; |
||
91 | GdkColor colorGray = {1, 0xE600, 0xE600, 0xE600}; |
||
92 | GdkColor blue = { 0, 0, 0, 0xffff }; |
||
93 | GdkColor green = { 0, 0, 0xffff , 0xffff }; |
||
94 | GdkColor yellow = { 0, 0xffff, 0xffff , 0}; |
||
95 | |||
96 | |||
97 | //scan mode 1 scannning set of alphabets
|
||
98 | //scan mode 2 scanning each alphabet with BACK facility
|
||
99 | //scan mode 3 scanning the words with BACK and MORE facilities
|
||
100 | //scan mode 4 ERASE and DONE
|
||
101 | static guint scan_mode = 1; |
||
102 | static guint prev_scan_mode = 1; |
||
103 | |||
104 | //For concatenation of wav files and spell it out
|
||
105 | static gchar selected_char[37]; |
||
106 | |||
107 | //iterators for the first three scan modes
|
||
108 | static guint iter1 = 1, iter2 = 0, iter3 = 1; |
||
109 | |||
110 | //flags set for many purposes
|
||
111 | static guint is_selected = 0, is_erase_selected = 0, stg3_back_selected = 0, is_back_selected = 0, is_more_selected = 0, is_word_selected = 0, is_done_selected = 0, change_mode = 0; |
||
112 | |||
113 | //to make sure that if there are not enough words, it will not scan the empty labels
|
||
114 | static int mod_value = 7; |
||
115 | |||
116 | //Creating the topmost buttons
|
||
117 | static void create_buttons (); |
||
118 | static GtkWidget *xpm_label_box(gchar *label_text, gchar *xpm_filename);
|
||
119 | |||
120 | //Creating the single buttons
|
||
121 | static void create_single_button(); |
||
122 | |||
123 | //Creating the labels for words
|
||
124 | void create_labels(void); |
||
125 | |||
126 | //This method is invoked in a separate thread and runs on till the application is closed.
|
||
127 | void *button_selection(void * args); |
||
128 | |||
129 | //The interpretation of each switch stroke
|
||
130 | static void callback(); |
||
131 | |||
132 | //Managing the selected word list addition/deletion
|
||
133 | void enter_into_sentence_box(void); |
||
134 | |||
135 | //read out the string
|
||
136 | void read_out(char *); |
||
137 | |||
138 | //spell out the string
|
||
139 | void spell_out(char *); |
||
140 | |||
141 | //read out a sentence. in turn splits the sentence and then calls read_out
|
||
142 | void read_sentence(char *); |
||
143 | |||
144 | //initialise the string to be searched for in the dictionary
|
||
145 | int init_query(char *); |
||
146 | |||
147 | //clean up the datastructures that have previous query results
|
||
148 | void clean_query(void); |
||
149 | |||
150 | //run the query to get the results
|
||
151 | void run_query(char *, int); |
||
152 | |||
153 | //external function call for checking the user input
|
||
154 | extern int check_for_user_input(); |
||
155 | extern int check(); |
||
156 | |||
157 | //static int flagserial;
|
||
158 | //external function call for reading the conf file
|
||
159 | extern int read_conf_file (char *); |