| 144 #endif |
144 #endif |
| 145 |
145 |
| 146 void ui_show(UiObject *obj) { |
146 void ui_show(UiObject *obj) { |
| 147 gboolean visible = gtk_widget_is_visible(obj->widget); |
147 gboolean visible = gtk_widget_is_visible(obj->widget); |
| 148 |
148 |
| 149 uic_check_group_widgets(obj->ctx); |
149 uic_check_state_widgets(obj->ctx); |
| 150 #if GTK_MAJOR_VERSION >= 4 |
150 #if GTK_MAJOR_VERSION >= 4 |
| 151 gtk_window_present(GTK_WINDOW(obj->widget)); |
151 gtk_window_present(GTK_WINDOW(obj->widget)); |
| 152 #elif GTK_MAJOR_VERSION <= 3 |
152 #elif GTK_MAJOR_VERSION <= 3 |
| 153 gtk_widget_show_all(obj->widget); |
153 gtk_widget_show_all(obj->widget); |
| 154 #endif |
154 #endif |
| 507 |
507 |
| 508 void ui_set_widget_groups(UiContext *ctx, GtkWidget *widget, const int *groups) { |
508 void ui_set_widget_groups(UiContext *ctx, GtkWidget *widget, const int *groups) { |
| 509 if(!groups) { |
509 if(!groups) { |
| 510 return; |
510 return; |
| 511 } |
511 } |
| 512 size_t ngroups = uic_group_array_size(groups); |
512 size_t ngroups = uic_state_array_size(groups); |
| 513 ui_set_widget_ngroups(ctx, widget, groups, ngroups); |
513 ui_set_widget_ngroups(ctx, widget, groups, ngroups); |
| 514 } |
514 } |
| 515 |
515 |
| 516 void ui_set_widget_ngroups(UiContext *ctx, GtkWidget *widget, const int *groups, size_t ngroups) { |
516 void ui_set_widget_ngroups(UiContext *ctx, GtkWidget *widget, const int *groups, size_t ngroups) { |
| 517 if(ngroups > 0) { |
517 if(ngroups > 0) { |
| 518 uic_add_group_widget_i(ctx, widget, (ui_enablefunc)ui_set_enabled, groups, ngroups); |
518 uic_add_state_widget_i(ctx, widget, (ui_enablefunc)ui_set_enabled, groups, ngroups); |
| 519 ui_set_enabled(widget, FALSE); |
519 ui_set_enabled(widget, FALSE); |
| 520 } |
520 } |
| 521 } |
521 } |
| 522 |
522 |
| 523 void ui_set_widget_visibility_states(UiContext *ctx, GtkWidget *widget, const int *states) { |
523 void ui_set_widget_visibility_states(UiContext *ctx, GtkWidget *widget, const int *states) { |
| 524 if(!states) { |
524 if(!states) { |
| 525 return; |
525 return; |
| 526 } |
526 } |
| 527 size_t nstates = uic_group_array_size(states); |
527 size_t nstates = uic_state_array_size(states); |
| 528 ui_set_widget_nvisibility_states(ctx, widget, states, nstates); |
528 ui_set_widget_nvisibility_states(ctx, widget, states, nstates); |
| 529 } |
529 } |
| 530 |
530 |
| 531 |
531 |
| 532 void ui_set_widget_nvisibility_states(UiContext *ctx, GtkWidget *widget, const int *states, size_t ngroups) { |
532 void ui_set_widget_nvisibility_states(UiContext *ctx, GtkWidget *widget, const int *states, size_t ngroups) { |
| 533 if(ngroups > 0) { |
533 if(ngroups > 0) { |
| 534 uic_add_group_widget_i(ctx, widget, (ui_enablefunc)ui_set_visible, states, ngroups); |
534 uic_add_state_widget_i(ctx, widget, (ui_enablefunc)ui_set_visible, states, ngroups); |
| 535 ui_set_visible(widget, FALSE); |
535 ui_set_visible(widget, FALSE); |
| 536 } |
536 } |
| 537 } |
537 } |