Commit 684ad52c186fdc55fc9d032788f97f0d34aedba1

Authored by Perry Werneck
1 parent 4fc113f7

Working on keypads.

src/include/pw3270/keypad.h
@@ -55,6 +55,15 @@ @@ -55,6 +55,15 @@
55 GList * pw3270_keypad_model_new_from_xml(GList *keypads, const gchar *filename); 55 GList * pw3270_keypad_model_new_from_xml(GList *keypads, const gchar *filename);
56 GtkWidget * pw3270_keypad_get_from_model(GObject *model); 56 GtkWidget * pw3270_keypad_get_from_model(GObject *model);
57 57
  58 + typedef enum _keypad_position {
  59 + KEYPAD_POSITION_TOP,
  60 + KEYPAD_POSITION_LEFT,
  61 + KEYPAD_POSITION_BOTTOM,
  62 + KEYPAD_POSITION_RIGHT
  63 + } KEYPAD_POSITION;
  64 +
  65 + KEYPAD_POSITION pw3270_keypad_get_position(GObject *model);
  66 +
58 G_END_DECLS 67 G_END_DECLS
59 68
60 #endif // PW3270_KEYPAD_H_INCLUDED 69 #endif // PW3270_KEYPAD_H_INCLUDED
src/objects/keypad/keypad.c
@@ -42,9 +42,9 @@ @@ -42,9 +42,9 @@
42 }; 42 };
43 43
44 static const char * positions[] = { 44 static const char * positions[] = {
45 - "up",  
46 - "down", 45 + "top",
47 "left", 46 "left",
  47 + "bottom",
48 "right" 48 "right"
49 }; 49 };
50 50
@@ -144,9 +144,11 @@ @@ -144,9 +144,11 @@
144 144
145 static void KeypadModel_init(KeypadModel *object) { 145 static void KeypadModel_init(KeypadModel *object) {
146 146
  147 + object->position = (unsigned short) KEYPAD_POSITION_BOTTOM;
  148 +
147 } 149 }
148 150
149 - static void get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { 151 + static void get_property(GObject *object, guint prop_id, GValue *value, GParamSpec G_GNUC_UNUSED(*pspec)) {
150 152
151 KeypadModel * model = PW_KEYPAD_MODEL(object); 153 KeypadModel * model = PW_KEYPAD_MODEL(object);
152 154
@@ -177,7 +179,7 @@ @@ -177,7 +179,7 @@
177 179
178 } 180 }
179 181
180 - static void set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { 182 + static void set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec G_GNUC_UNUSED(*pspec)) {
181 183
182 KeypadModel * model = PW_KEYPAD_MODEL(object); 184 KeypadModel * model = PW_KEYPAD_MODEL(object);
183 185
@@ -299,7 +301,7 @@ @@ -299,7 +301,7 @@
299 301
300 } 302 }
301 303
302 - static void element_end(GMarkupParseContext *context, const gchar *element_name, KeypadModel *keypad, GError **error) { 304 + static void element_end(GMarkupParseContext *context, const gchar *element_name, KeypadModel *keypad, GError G_GNUC_UNUSED(**error)) {
303 305
304 debug("%s(%s)",__FUNCTION__,element_name); 306 debug("%s(%s)",__FUNCTION__,element_name);
305 307
@@ -340,3 +342,9 @@ @@ -340,3 +342,9 @@
340 model->elements = g_list_reverse(model->elements); 342 model->elements = g_list_reverse(model->elements);
341 343
342 } 344 }
  345 +
  346 + KEYPAD_POSITION pw3270_keypad_get_position(GObject *model) {
  347 + g_return_val_if_fail(PW_IS_KEYPAD_MODEL(model), (KEYPAD_POSITION) -1);
  348 + return (KEYPAD_POSITION) PW_KEYPAD_MODEL(model)->position;
  349 + }
  350 +
src/objects/window/page.c
@@ -136,7 +136,6 @@ @@ -136,7 +136,6 @@
136 g_signal_connect(G_OBJECT(label), "destroy", G_CALLBACK(label_disconnect),terminal); 136 g_signal_connect(G_OBJECT(label), "destroy", G_CALLBACK(label_disconnect),terminal);
137 137
138 // Setup tab 138 // Setup tab
139 -  
140 GtkWidget * tab = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,2); 139 GtkWidget * tab = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,2);
141 GtkWidget * button = gtk_button_new_from_icon_name("window-close-symbolic",GTK_ICON_SIZE_MENU); 140 GtkWidget * button = gtk_button_new_from_icon_name("window-close-symbolic",GTK_ICON_SIZE_MENU);
142 GtkNotebook * notebook = PW3270_APPLICATION_WINDOW(window)->notebook; 141 GtkNotebook * notebook = PW3270_APPLICATION_WINDOW(window)->notebook;
@@ -155,13 +154,13 @@ @@ -155,13 +154,13 @@
155 154
156 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(close_page), terminal); 155 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(close_page), terminal);
157 156
158 -  
159 gtk_box_pack_start(GTK_BOX(tab),label,FALSE,FALSE,0); 157 gtk_box_pack_start(GTK_BOX(tab),label,FALSE,FALSE,0);
160 gtk_box_pack_end(GTK_BOX(tab),button,FALSE,FALSE,0); 158 gtk_box_pack_end(GTK_BOX(tab),button,FALSE,FALSE,0);
161 159
162 gtk_widget_show_all(terminal); 160 gtk_widget_show_all(terminal);
163 gtk_widget_show_all(tab); 161 gtk_widget_show_all(tab);
164 162
  163 + // Add page
165 gint page = gtk_notebook_append_page(notebook,terminal,tab); 164 gint page = gtk_notebook_append_page(notebook,terminal,tab);
166 165
167 gtk_notebook_set_tab_detachable(notebook,terminal,TRUE); 166 gtk_notebook_set_tab_detachable(notebook,terminal,TRUE);
src/objects/window/terminal.c
@@ -201,6 +201,8 @@ @@ -201,6 +201,8 @@
201 201
202 GtkWidget * terminal = v3270_new(); 202 GtkWidget * terminal = v3270_new();
203 203
  204 + gtk_widget_show_all(terminal);
  205 +
204 struct SessionDescriptor * descriptor = NULL; 206 struct SessionDescriptor * descriptor = NULL;
205 207
206 if(session_file) { 208 if(session_file) {