Commit 684ad52c186fdc55fc9d032788f97f0d34aedba1
1 parent
4fc113f7
Exists in
master
and in
4 other branches
Working on keypads.
Showing
4 changed files
with
25 additions
and
7 deletions
Show diff stats
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) { |