Commit 4c1132450b02f84295e451ed87d1c67635c1bf49
1 parent
5be39e6a
Exists in
master
and in
5 other branches
Remodelando keypad.
Showing
2 changed files
with
16 additions
and
17 deletions
Show diff stats
src/pw3270/uiparser/keypad.c
@@ -36,6 +36,7 @@ | @@ -36,6 +36,7 @@ | ||
36 | { | 36 | { |
37 | int width = 1; | 37 | int width = 1; |
38 | int height = 1; | 38 | int height = 1; |
39 | + const gchar * tmp; | ||
39 | 40 | ||
40 | trace("%s(%s,%d,%d)",__FUNCTION__,element_name,(int) keypad->row, (int) keypad->col); | 41 | trace("%s(%s,%d,%d)",__FUNCTION__,element_name,(int) keypad->row, (int) keypad->col); |
41 | 42 | ||
@@ -45,21 +46,19 @@ | @@ -45,21 +46,19 @@ | ||
45 | keypad_button_start(context, names, values, error, keypad); | 46 | keypad_button_start(context, names, values, error, keypad); |
46 | } | 47 | } |
47 | 48 | ||
48 | - if(keypad->widget) { | ||
49 | - | ||
50 | - // Criou widget, incluir | ||
51 | - const gchar * tmp; | 49 | + tmp = ui_get_attribute("width", names, values); |
50 | + if(tmp) { | ||
51 | + width = atoi(tmp); | ||
52 | + } | ||
52 | 53 | ||
53 | - tmp = ui_get_attribute("width", names, values); | ||
54 | - if(tmp) { | ||
55 | - width = atoi(tmp); | ||
56 | - } | 54 | + tmp = ui_get_attribute("height", names, values); |
55 | + if(tmp) { | ||
56 | + height = atoi(tmp); | ||
57 | + } | ||
57 | 58 | ||
58 | - tmp = ui_get_attribute("height", names, values); | ||
59 | - if(tmp) { | ||
60 | - height = atoi(tmp); | ||
61 | - } | 59 | + if(keypad->widget) { |
62 | 60 | ||
61 | + // Criou widget, incluir | ||
63 | tmp = ui_get_attribute("column", names, values); | 62 | tmp = ui_get_attribute("column", names, values); |
64 | if(tmp) { | 63 | if(tmp) { |
65 | keypad->col = atoi(tmp); | 64 | keypad->col = atoi(tmp); |
@@ -71,7 +70,7 @@ | @@ -71,7 +70,7 @@ | ||
71 | } | 70 | } |
72 | 71 | ||
73 | if(!strcasecmp(element_name,"row")) { | 72 | if(!strcasecmp(element_name,"row")) { |
74 | - keypad->row++; | 73 | + keypad->row += height; |
75 | keypad->col = 0; | 74 | keypad->col = 0; |
76 | } else { | 75 | } else { |
77 | keypad->col += width; | 76 | keypad->col += width; |
@@ -170,7 +169,7 @@ | @@ -170,7 +169,7 @@ | ||
170 | keypad->relief = ui_get_relief(names, values, GTK_RELIEF_NORMAL); | 169 | keypad->relief = ui_get_relief(names, values, GTK_RELIEF_NORMAL); |
171 | keypad->grid = GTK_GRID(gtk_grid_new()); | 170 | keypad->grid = GTK_GRID(gtk_grid_new()); |
172 | 171 | ||
173 | - // gtk_grid_set_row_homogeneous(keypad->grid,TRUE); | 172 | + gtk_grid_set_row_homogeneous(keypad->grid,TRUE); |
174 | gtk_grid_set_column_homogeneous(keypad->grid,TRUE); | 173 | gtk_grid_set_column_homogeneous(keypad->grid,TRUE); |
175 | 174 | ||
176 | g_object_set_data(G_OBJECT(keypad->grid),"position",(gpointer) keypad->pos); | 175 | g_object_set_data(G_OBJECT(keypad->grid),"position",(gpointer) keypad->pos); |
ui/10keypad.xml
@@ -77,9 +77,9 @@ | @@ -77,9 +77,9 @@ | ||
77 | <button action='erase' target='all' label="Clear" width='3' /> | 77 | <button action='erase' target='all' label="Clear" width='3' /> |
78 | <button action='kybdreset' label="Reset" width='3' /> | 78 | <button action='kybdreset' label="Reset" width='3' /> |
79 | </row> | 79 | </row> |
80 | - <row> | ||
81 | - <button action='EraseEOF' label="Erase\nEOF" width='3' /> | ||
82 | - <button action='EraseInput' label="Erase\nInput" width='3' /> | 80 | + <row height='2'> |
81 | + <button action='EraseEOF' label="Erase\nEOF" width='3' height='2'/> | ||
82 | + <button action='EraseInput' label="Erase\nInput" width='3' height='2'/> | ||
83 | </row> | 83 | </row> |
84 | <row> | 84 | <row> |
85 | <button action='Attn' label="Attn" width='3' /> | 85 | <button action='Attn' label="Attn" width='3' /> |