ui/gtk/button.c

branch
newapi
changeset 274
9e2aee097b69
parent 264
24d9a92fd048
child 276
376921880a7f
equal deleted inserted replaced
273:1dd2456c51d3 274:9e2aee097b69
195 var = uic_create_value_var(current->ctx, args.value); 195 var = uic_create_value_var(current->ctx, args.value);
196 } else if (args.varname) { 196 } else if (args.varname) {
197 var = uic_create_var(obj->ctx, args.varname, UI_VAR_INTEGER); 197 var = uic_create_var(obj->ctx, args.varname, UI_VAR_INTEGER);
198 } 198 }
199 199
200 UiBool first = FALSE;
200 if(var) { 201 if(var) {
201 rgroup = var->value; 202 rgroup = var->value;
202 rg = rgroup->obj; 203 rg = rgroup->obj;
204 if(!rg) {
205 first = TRUE;
206 }
203 } 207 }
204 208
205 GtkWidget *rbutton = gtk_radio_button_new_with_label(rg, args.label ? args.label : ""); 209 GtkWidget *rbutton = gtk_radio_button_new_with_label(rg, args.label ? args.label : "");
206 rg = gtk_radio_button_get_group(GTK_RADIO_BUTTON(rbutton)); 210 rg = gtk_radio_button_get_group(GTK_RADIO_BUTTON(rbutton));
207 211
222 g_signal_connect( 226 g_signal_connect(
223 rbutton, 227 rbutton,
224 "clicked", 228 "clicked",
225 G_CALLBACK(ui_radio_obs), 229 G_CALLBACK(ui_radio_obs),
226 event); 230 event);
227 g_signal_connect( 231 if(first) {
232 g_signal_connect(
228 rbutton, 233 rbutton,
229 "destroy", 234 "destroy",
230 G_CALLBACK(ui_destroy_vardata), 235 G_CALLBACK(ui_destroy_vardata),
231 event); 236 event);
237 }
232 } 238 }
233 239
234 UiContainer *ct = uic_get_current_container(obj); 240 UiContainer *ct = uic_get_current_container(obj);
235 ct->add(ct, rbutton, FALSE); 241 ct->add(ct, rbutton, FALSE);
236 242

mercurial