Commit 2fba2bdc791b60fe7f336e83bb41e1bee1affde7

Authored by Perry Werneck
1 parent dc7828e5

Implementando nova keypad

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