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,6 +79,9 @@ | ||
| 79 | { | 79 | { |
| 80 | const gchar * label = ui_get_attribute("label", names, values); | 80 | const gchar * label = ui_get_attribute("label", names, values); |
| 81 | const gchar * icon = ui_get_attribute("icon", names, values); | 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 | if(label) { | 86 | if(label) { |
| 84 | keypad->widget = gtk_button_new_with_label(label); | 87 | keypad->widget = gtk_button_new_with_label(label); |
| @@ -93,9 +96,7 @@ | @@ -93,9 +96,7 @@ | ||
| 93 | const gchar * label = ui_get_attribute("label", names, values); | 96 | const gchar * label = ui_get_attribute("label", names, values); |
| 94 | const gchar * icon = ui_get_attribute("icon", names, values); | 97 | const gchar * icon = ui_get_attribute("icon", names, values); |
| 95 | const gchar * name = ui_get_attribute("action", names, values); | 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 | if(label) | 101 | if(label) |
| 101 | { | 102 | { |
| @@ -108,18 +109,19 @@ | @@ -108,18 +109,19 @@ | ||
| 108 | gtk_container_add(GTK_CONTAINER(widget),gtk_image_new_from_stock(text,GTK_ICON_SIZE_SMALL_TOOLBAR)); | 109 | gtk_container_add(GTK_CONTAINER(widget),gtk_image_new_from_stock(text,GTK_ICON_SIZE_SMALL_TOOLBAR)); |
| 109 | g_free(text); | 110 | g_free(text); |
| 110 | } | 111 | } |
| 112 | +*/ | ||
| 111 | 113 | ||
| 112 | #if GTK_CHECK_VERSION(2,18,0) | 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 | #else | 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 | #endif // GTK(2,18) | 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 | if(name) | 126 | if(name) |
| 125 | action = ui_get_action(info->center_widget,name,info->actions,names,values,error); | 127 | action = ui_get_action(info->center_widget,name,info->actions,names,values,error); |
| @@ -127,14 +129,13 @@ | @@ -127,14 +129,13 @@ | ||
| 127 | if(action) | 129 | if(action) |
| 128 | { | 130 | { |
| 129 | ui_action_set_options(action,info,names,values,error); | 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 | else | 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,6 +145,9 @@ | ||
| 145 | keypad->relief = ui_get_relief(names, values, GTK_RELIEF_NORMAL); | 145 | keypad->relief = ui_get_relief(names, values, GTK_RELIEF_NORMAL); |
| 146 | keypad->grid = GTK_GRID(gtk_grid_new()); | 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 | g_object_set_data(G_OBJECT(keypad->grid),"position",(gpointer) keypad->pos); | 151 | g_object_set_data(G_OBJECT(keypad->grid),"position",(gpointer) keypad->pos); |
| 149 | 152 | ||
| 150 | label = ui_get_attribute("label",names,values); | 153 | label = ui_get_attribute("label",names,values); |