Adds uiFormDelete()
This commit is contained in:
parent
48546f6b44
commit
52bd3b2c35
|
@ -485,6 +485,11 @@ void uiFormAppend(uiForm *f, const char *label, uiControl *c, int stretchy)
|
||||||
[f->view append:toNSString(label) c:c stretchy:stretchy];
|
[f->view append:toNSString(label) c:c stretchy:stretchy];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void uiFormDelete(uiForm *f, int n)
|
||||||
|
{
|
||||||
|
[f->view delete:n];
|
||||||
|
}
|
||||||
|
|
||||||
int uiFormPadded(uiForm *f)
|
int uiFormPadded(uiForm *f)
|
||||||
{
|
{
|
||||||
return [f->view isPadded];
|
return [f->view isPadded];
|
||||||
|
|
1
ui.h
1
ui.h
|
@ -625,6 +625,7 @@ _UI_EXTERN uiColorButton *uiNewColorButton(void);
|
||||||
typedef struct uiForm uiForm;
|
typedef struct uiForm uiForm;
|
||||||
#define uiForm(this) ((uiForm *) (this))
|
#define uiForm(this) ((uiForm *) (this))
|
||||||
_UI_EXTERN void uiFormAppend(uiForm *f, const char *label, uiControl *c, int stretchy);
|
_UI_EXTERN void uiFormAppend(uiForm *f, const char *label, uiControl *c, int stretchy);
|
||||||
|
_UI_EXTERN void uiFormDelete(uiForm *f, int index);
|
||||||
_UI_EXTERN int uiFormPadded(uiForm *f);
|
_UI_EXTERN int uiFormPadded(uiForm *f);
|
||||||
_UI_EXTERN void uiFormSetPadded(uiForm *f, int padded);
|
_UI_EXTERN void uiFormSetPadded(uiForm *f, int padded);
|
||||||
_UI_EXTERN uiForm *uiNewForm(void);
|
_UI_EXTERN uiForm *uiNewForm(void);
|
||||||
|
|
25
unix/form.c
25
unix/form.c
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
struct formChild {
|
struct formChild {
|
||||||
uiControl *c;
|
uiControl *c;
|
||||||
|
int stretchy;
|
||||||
GtkWidget *label;
|
GtkWidget *label;
|
||||||
gboolean oldhexpand;
|
gboolean oldhexpand;
|
||||||
GtkAlign oldhalign;
|
GtkAlign oldhalign;
|
||||||
|
@ -54,6 +55,7 @@ void uiFormAppend(uiForm *f, const char *label, uiControl *c, int stretchy)
|
||||||
|
|
||||||
fc.c = c;
|
fc.c = c;
|
||||||
widget = GTK_WIDGET(uiControlHandle(fc.c));
|
widget = GTK_WIDGET(uiControlHandle(fc.c));
|
||||||
|
fc.stretchy = stretchy;
|
||||||
fc.oldhexpand = gtk_widget_get_hexpand(widget);
|
fc.oldhexpand = gtk_widget_get_hexpand(widget);
|
||||||
fc.oldhalign = gtk_widget_get_halign(widget);
|
fc.oldhalign = gtk_widget_get_halign(widget);
|
||||||
fc.oldvexpand = gtk_widget_get_vexpand(widget);
|
fc.oldvexpand = gtk_widget_get_vexpand(widget);
|
||||||
|
@ -95,6 +97,29 @@ void uiFormAppend(uiForm *f, const char *label, uiControl *c, int stretchy)
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void uiFormDelete(uiForm *f, int index)
|
||||||
|
{
|
||||||
|
struct formChild *fc;
|
||||||
|
GtkWidget *widget;
|
||||||
|
|
||||||
|
fc = ctrl(f, index);
|
||||||
|
widget = GTK_WIDGET(uiControlHandle(fc->c));
|
||||||
|
|
||||||
|
gtk_widget_destroy(fc->label);
|
||||||
|
|
||||||
|
uiControlSetParent(fc->c, NULL);
|
||||||
|
uiUnixControlSetContainer(uiUnixControl(fc->c), f->container, TRUE);
|
||||||
|
|
||||||
|
if (fc->stretchy)
|
||||||
|
gtk_size_group_remove_widget(f->stretchygroup, widget);
|
||||||
|
gtk_widget_set_hexpand(widget, fc->oldhexpand);
|
||||||
|
gtk_widget_set_halign(widget, fc->oldhalign);
|
||||||
|
gtk_widget_set_vexpand(widget, fc->oldvexpand);
|
||||||
|
gtk_widget_set_valign(widget, fc->oldvalign);
|
||||||
|
|
||||||
|
g_array_remove_index(f->children, index);
|
||||||
|
}
|
||||||
|
|
||||||
int uiFormPadded(uiForm *f)
|
int uiFormPadded(uiForm *f)
|
||||||
{
|
{
|
||||||
return f->padded;
|
return f->padded;
|
||||||
|
|
|
@ -258,6 +258,18 @@ void uiFormAppend(uiForm *f, const char *label, uiControl *c, int stretchy)
|
||||||
uiWindowsControlMinimumSizeChanged(uiWindowsControl(f));
|
uiWindowsControlMinimumSizeChanged(uiWindowsControl(f));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void uiFormDelete(uiForm *f, int index)
|
||||||
|
{
|
||||||
|
uiControl *c;
|
||||||
|
|
||||||
|
c = (*(f->controls))[index].c;
|
||||||
|
uiControlSetParent(c, NULL);
|
||||||
|
uiWindowsControlSetParentHWND(uiWindowsControl(c), NULL);
|
||||||
|
f->controls->erase(f->controls->begin() + index);
|
||||||
|
formArrangeChildren(f);
|
||||||
|
uiWindowsControlMinimumSizeChanged(uiWindowsControl(f));
|
||||||
|
}
|
||||||
|
|
||||||
int uiFormPadded(uiForm *f)
|
int uiFormPadded(uiForm *f)
|
||||||
{
|
{
|
||||||
return f->padded;
|
return f->padded;
|
||||||
|
|
Loading…
Reference in New Issue