Commit 684ad52c186fdc55fc9d032788f97f0d34aedba1

Authored by Perry Werneck
1 parent 4fc113f7

Working on keypads.

src/include/pw3270/keypad.h
... ... @@ -55,6 +55,15 @@
55 55 GList * pw3270_keypad_model_new_from_xml(GList *keypads, const gchar *filename);
56 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 67 G_END_DECLS
59 68  
60 69 #endif // PW3270_KEYPAD_H_INCLUDED
... ...
src/objects/keypad/keypad.c
... ... @@ -42,9 +42,9 @@
42 42 };
43 43  
44 44 static const char * positions[] = {
45   - "up",
46   - "down",
  45 + "top",
47 46 "left",
  47 + "bottom",
48 48 "right"
49 49 };
50 50  
... ... @@ -144,9 +144,11 @@
144 144  
145 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 153 KeypadModel * model = PW_KEYPAD_MODEL(object);
152 154  
... ... @@ -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 184 KeypadModel * model = PW_KEYPAD_MODEL(object);
183 185  
... ... @@ -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 306 debug("%s(%s)",__FUNCTION__,element_name);
305 307  
... ... @@ -340,3 +342,9 @@
340 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 136 g_signal_connect(G_OBJECT(label), "destroy", G_CALLBACK(label_disconnect),terminal);
137 137  
138 138 // Setup tab
139   -
140 139 GtkWidget * tab = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,2);
141 140 GtkWidget * button = gtk_button_new_from_icon_name("window-close-symbolic",GTK_ICON_SIZE_MENU);
142 141 GtkNotebook * notebook = PW3270_APPLICATION_WINDOW(window)->notebook;
... ... @@ -155,13 +154,13 @@
155 154  
156 155 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(close_page), terminal);
157 156  
158   -
159 157 gtk_box_pack_start(GTK_BOX(tab),label,FALSE,FALSE,0);
160 158 gtk_box_pack_end(GTK_BOX(tab),button,FALSE,FALSE,0);
161 159  
162 160 gtk_widget_show_all(terminal);
163 161 gtk_widget_show_all(tab);
164 162  
  163 + // Add page
165 164 gint page = gtk_notebook_append_page(notebook,terminal,tab);
166 165  
167 166 gtk_notebook_set_tab_detachable(notebook,terminal,TRUE);
... ...
src/objects/window/terminal.c
... ... @@ -201,6 +201,8 @@
201 201  
202 202 GtkWidget * terminal = v3270_new();
203 203  
  204 + gtk_widget_show_all(terminal);
  205 +
204 206 struct SessionDescriptor * descriptor = NULL;
205 207  
206 208 if(session_file) {
... ...