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