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