module ui.Form; import ui.Control; class Form : Control { protected uiForm * _form; this() { _form = uiNewForm(); super(cast(uiControl *) _form); } Form append(string label, Control child, bool stretchy = false) { import std.exception: enforce; enforce(child, "atempt to append a child which is null."); _children ~= child; child._parent = this; import std.string: toStringz; uiFormAppend(_form, label.toStringz, child._control, cast(int) stretchy); return this; } Form deleteByIndex(size_t index) { import std.algorithm: remove; _children[index]._parent = null; _children.remove(index); uiFormDelete(_form, cast(int) index); return this; } bool padded() { return cast(bool) uiFormPadded(_form); } Form setPadded(bool padded) { uiFormSetPadded(_form, cast(int) padded); return this; } }