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 | 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); | ... | ... |