57 GtkWidget* ui_create_button( |
57 GtkWidget* ui_create_button( |
58 UiObject *obj, |
58 UiObject *obj, |
59 const char *label, |
59 const char *label, |
60 const char *icon, |
60 const char *icon, |
61 ui_callback onclick, |
61 ui_callback onclick, |
62 void *userdata) |
62 void *userdata, |
|
63 int event_value) |
63 { |
64 { |
64 GtkWidget *button = gtk_button_new_with_label(label); |
65 GtkWidget *button = gtk_button_new_with_label(label); |
65 ui_button_set_icon_name(button, icon); |
66 ui_button_set_icon_name(button, icon); |
66 |
67 |
67 if(onclick) { |
68 if(onclick) { |
68 UiEventData *event = malloc(sizeof(UiEventData)); |
69 UiEventData *event = malloc(sizeof(UiEventData)); |
69 event->obj = obj; |
70 event->obj = obj; |
70 event->userdata = userdata; |
71 event->userdata = userdata; |
71 event->callback = onclick; |
72 event->callback = onclick; |
72 event->value = 0; |
73 event->value = event_value; |
73 event->customdata = NULL; |
74 event->customdata = NULL; |
74 |
75 |
75 g_signal_connect( |
76 g_signal_connect( |
76 button, |
77 button, |
77 "clicked", |
78 "clicked", |
87 return button; |
88 return button; |
88 } |
89 } |
89 |
90 |
90 UIWIDGET ui_button_create(UiObject *obj, UiButtonArgs args) { |
91 UIWIDGET ui_button_create(UiObject *obj, UiButtonArgs args) { |
91 UiObject* current = uic_current_obj(obj); |
92 UiObject* current = uic_current_obj(obj); |
92 GtkWidget *button = ui_create_button(obj, args.label, args.icon, args.onclick, args.onclickdata); |
93 GtkWidget *button = ui_create_button(obj, args.label, args.icon, args.onclick, args.onclickdata, 0); |
93 ui_set_name_and_style(button, args.name, args.style_class); |
94 ui_set_name_and_style(button, args.name, args.style_class); |
|
95 ui_set_widget_groups(obj->ctx, button, args.groups); |
94 UI_APPLY_LAYOUT1(current, args); |
96 UI_APPLY_LAYOUT1(current, args); |
95 current->container->add(current->container, button, FALSE); |
97 current->container->add(current->container, button, FALSE); |
96 return button; |
98 return button; |
97 } |
99 } |
98 |
100 |
230 static UIWIDGET togglebutton_create(UiObject *obj, GtkWidget *widget, UiToggleArgs args) { |
232 static UIWIDGET togglebutton_create(UiObject *obj, GtkWidget *widget, UiToggleArgs args) { |
231 UiObject* current = uic_current_obj(obj); |
233 UiObject* current = uic_current_obj(obj); |
232 |
234 |
233 ui_setup_togglebutton(current, widget, args.label, args.icon, args.varname, args.value, args.onchange, args.onchangedata); |
235 ui_setup_togglebutton(current, widget, args.label, args.icon, args.varname, args.value, args.onchange, args.onchangedata); |
234 ui_set_name_and_style(widget, args.name, args.style_class); |
236 ui_set_name_and_style(widget, args.name, args.style_class); |
|
237 ui_set_widget_groups(obj->ctx, widget, args.groups); |
235 |
238 |
236 UI_APPLY_LAYOUT1(current, args); |
239 UI_APPLY_LAYOUT1(current, args); |
237 current->container->add(current->container, widget, FALSE); |
240 current->container->add(current->container, widget, FALSE); |
238 |
241 |
239 return widget; |
242 return widget; |
280 args.value, |
283 args.value, |
281 (ui_toggled_func)ui_checkbox_callback, |
284 (ui_toggled_func)ui_checkbox_callback, |
282 args.onchange, |
285 args.onchange, |
283 args.onchangedata); |
286 args.onchangedata); |
284 |
287 |
|
288 ui_set_name_and_style(widget, args.name, args.style_class); |
|
289 ui_set_widget_groups(obj->ctx, widget, args.groups); |
|
290 |
285 UI_APPLY_LAYOUT1(current, args); |
291 UI_APPLY_LAYOUT1(current, args); |
286 current->container->add(current->container, widget, FALSE); |
292 current->container->add(current->container, widget, FALSE); |
287 |
293 |
288 return widget; |
294 return widget; |
289 } |
295 } |
341 } |
347 } |
342 } |
348 } |
343 |
349 |
344 GtkWidget *rbutton = RADIOBUTTON_NEW(rg, args.label); |
350 GtkWidget *rbutton = RADIOBUTTON_NEW(rg, args.label); |
345 ui_set_name_and_style(rbutton, args.name, args.style_class); |
351 ui_set_name_and_style(rbutton, args.name, args.style_class); |
|
352 ui_set_widget_groups(obj->ctx, rbutton, args.groups); |
346 if(rgroup) { |
353 if(rgroup) { |
347 #if GTK_MAJOR_VERSION >= 4 |
354 #if GTK_MAJOR_VERSION >= 4 |
348 if(rg) { |
355 if(rg) { |
349 gtk_check_button_set_group(GTK_CHECK_BUTTON(rbutton), rg->data); |
356 gtk_check_button_set_group(GTK_CHECK_BUTTON(rbutton), rg->data); |
350 } |
357 } |