Commit 2fba2bdc791b60fe7f336e83bb41e1bee1affde7

Authored by Perry Werneck
1 parent dc7828e5

Implementando nova keypad

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