Tied uiForm label visibility on GTK+ to the visibility of the control. This is the only visibility change needed on GTK+, fortunately.
This commit is contained in:
parent
cb81518e0f
commit
6e5cf97623
|
@ -8,6 +8,7 @@ struct formChild {
|
||||||
GtkAlign oldhalign;
|
GtkAlign oldhalign;
|
||||||
gboolean oldvexpand;
|
gboolean oldvexpand;
|
||||||
GtkAlign oldvalign;
|
GtkAlign oldvalign;
|
||||||
|
GBinding *labelBinding;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct uiForm {
|
struct uiForm {
|
||||||
|
@ -82,7 +83,10 @@ void uiFormAppend(uiForm *f, const char *label, uiControl *c, int stretchy)
|
||||||
gtk_grid_attach(f->grid, fc.label,
|
gtk_grid_attach(f->grid, fc.label,
|
||||||
0, row,
|
0, row,
|
||||||
1, 1);
|
1, 1);
|
||||||
gtk_widget_show_all(fc.label);
|
// and make them share visibility so if the control is hidden, so is its label
|
||||||
|
fc.labelBinding = g_object_bind_property(GTK_WIDGET(uiControlHandle(fc.c)), "visible",
|
||||||
|
fc.label, "visible",
|
||||||
|
G_BINDING_SYNC_CREATE);
|
||||||
|
|
||||||
uiControlSetParent(fc.c, uiControl(f));
|
uiControlSetParent(fc.c, uiControl(f));
|
||||||
uiUnixControlSetContainer(uiUnixControl(fc.c), f->container, FALSE);
|
uiUnixControlSetContainer(uiUnixControl(fc.c), f->container, FALSE);
|
||||||
|
|
Loading…
Reference in New Issue