Commit 2fba2bdc791b60fe7f336e83bb41e1bee1affde7
1 parent
dc7828e5
Exists in
master
and in
5 other branches
Implementando nova keypad
Showing
2 changed files
with
19 additions
and
15 deletions
Show diff stats
src/pw3270/uiparser/button.c
... | ... | @@ -79,6 +79,9 @@ |
79 | 79 | { |
80 | 80 | const gchar * label = ui_get_attribute("label", names, values); |
81 | 81 | const gchar * icon = ui_get_attribute("icon", names, values); |
82 | + const gchar * name = ui_get_attribute("action", names, values); | |
83 | + struct parser * info = keypad->parser; | |
84 | + GtkAction * action = NULL; | |
82 | 85 | |
83 | 86 | if(label) { |
84 | 87 | keypad->widget = gtk_button_new_with_label(label); |
... | ... | @@ -93,9 +96,7 @@ |
93 | 96 | const gchar * label = ui_get_attribute("label", names, values); |
94 | 97 | const gchar * icon = ui_get_attribute("icon", names, values); |
95 | 98 | const gchar * name = ui_get_attribute("action", names, values); |
96 | - struct parser * info = keypad->parser; | |
97 | - GtkAction * action = NULL; | |
98 | - GtkWidget * widget = NULL; | |
99 | + GtkWidget * widget = NULL; | |
99 | 100 | |
100 | 101 | if(label) |
101 | 102 | { |
... | ... | @@ -108,18 +109,19 @@ |
108 | 109 | gtk_container_add(GTK_CONTAINER(widget),gtk_image_new_from_stock(text,GTK_ICON_SIZE_SMALL_TOOLBAR)); |
109 | 110 | g_free(text); |
110 | 111 | } |
112 | +*/ | |
111 | 113 | |
112 | 114 | #if GTK_CHECK_VERSION(2,18,0) |
113 | - gtk_widget_set_can_focus(widget,FALSE); | |
114 | - gtk_widget_set_can_default(widget,FALSE); | |
115 | + gtk_widget_set_can_focus(keypad->widget,FALSE); | |
116 | + gtk_widget_set_can_default(keypad->widget,FALSE); | |
115 | 117 | #else |
116 | - GTK_WIDGET_UNSET_FLAGS(widget,GTK_CAN_FOCUS); | |
117 | - GTK_WIDGET_UNSET_FLAGS(widget,GTK_CAN_DEFAULT); | |
118 | + GTK_WIDGET_UNSET_FLAGS(keypad->widget,GTK_CAN_FOCUS); | |
119 | + GTK_WIDGET_UNSET_FLAGS(keypad->widget,GTK_CAN_DEFAULT); | |
118 | 120 | #endif // GTK(2,18) |
119 | 121 | |
120 | - gtk_button_set_relief(GTK_BUTTON(widget),ui_get_relief(names, values, keypad->relief)); | |
121 | - gtk_button_set_alignment(GTK_BUTTON(widget),0.5,0.5); | |
122 | - gtk_button_set_focus_on_click(GTK_BUTTON(widget),FALSE); | |
122 | + gtk_button_set_relief(GTK_BUTTON(keypad->widget),ui_get_relief(names, values, keypad->relief)); | |
123 | + gtk_button_set_alignment(GTK_BUTTON(keypad->widget),0.5,0.5); | |
124 | + gtk_button_set_focus_on_click(GTK_BUTTON(keypad->widget),FALSE); | |
123 | 125 | |
124 | 126 | if(name) |
125 | 127 | action = ui_get_action(info->center_widget,name,info->actions,names,values,error); |
... | ... | @@ -127,14 +129,13 @@ |
127 | 129 | if(action) |
128 | 130 | { |
129 | 131 | ui_action_set_options(action,info,names,values,error); |
130 | - g_signal_connect(G_OBJECT(widget),"clicked",G_CALLBACK(button_clicked),action); | |
132 | + g_signal_connect(G_OBJECT(keypad->widget),"clicked",G_CALLBACK(button_clicked),action); | |
131 | 133 | } |
132 | 134 | else |
133 | 135 | { |
134 | - keypad->widget = widget; | |
135 | - gtk_widget_set_sensitive(widget,FALSE); | |
136 | - g_signal_connect(G_OBJECT(widget),"clicked",G_CALLBACK(button_script),info->center_widget); | |
136 | + gtk_widget_set_sensitive(keypad->widget,FALSE); | |
137 | + g_signal_connect(G_OBJECT(keypad->widget),"clicked",G_CALLBACK(button_script),info->center_widget); | |
137 | 138 | } |
138 | -*/ | |
139 | + | |
139 | 140 | } |
140 | 141 | ... | ... |
src/pw3270/uiparser/keypad.c
... | ... | @@ -145,6 +145,9 @@ |
145 | 145 | keypad->relief = ui_get_relief(names, values, GTK_RELIEF_NORMAL); |
146 | 146 | keypad->grid = GTK_GRID(gtk_grid_new()); |
147 | 147 | |
148 | + gtk_grid_set_row_homogeneous(keypad->grid,TRUE); | |
149 | + gtk_grid_set_column_homogeneous(keypad->grid,TRUE); | |
150 | + | |
148 | 151 | g_object_set_data(G_OBJECT(keypad->grid),"position",(gpointer) keypad->pos); |
149 | 152 | |
150 | 153 | label = ui_get_attribute("label",names,values); | ... | ... |