libui-ng
A portable GUI library for C
uiForm Struct Reference

A container control to organize contained controls as labeled fields. More...

#include <ui.h>

Inheritance diagram for uiForm:
uiControl

Public Member Functions

void uiFormAppend (uiForm *f, const char *label, uiControl *c, int stretchy)
 Appends a control with a label to the form. More...
 
int uiFormNumChildren (uiForm *f)
 Returns the number of controls contained within the form. More...
 
void uiFormDelete (uiForm *f, int index)
 Removes the control at index from the form. More...
 
int uiFormPadded (uiForm *f)
 Returns whether or not controls within the form are padded. More...
 
void uiFormSetPadded (uiForm *f, int padded)
 Sets whether or not controls within the box are padded. More...
 
uiFormuiNewForm (void)
 Creates a new form. More...
 
- Public Member Functions inherited from uiControl
void uiControlDestroy (uiControl *c)
 Dispose and free all allocated resources. More...
 
uintptr_t uiControlHandle (uiControl *c)
 Returns the control's OS-level handle. More...
 
uiControluiControlParent (uiControl *c)
 Returns the parent control. More...
 
void uiControlSetParent (uiControl *c, uiControl *parent)
 Sets the control's parent. More...
 
int uiControlToplevel (uiControl *c)
 Returns whether or not the control is a top level control. More...
 
int uiControlVisible (uiControl *c)
 Returns whether or not the control is visible. More...
 
void uiControlShow (uiControl *c)
 Shows the control. More...
 
void uiControlHide (uiControl *c)
 Hides the control. More...
 
int uiControlEnabled (uiControl *c)
 Returns whether or not the control is enabled. More...
 
void uiControlEnable (uiControl *c)
 Enables the control. More...
 
void uiControlDisable (uiControl *c)
 Disables the control. More...
 
uiControluiAllocControl (size_t n, uint32_t OSsig, uint32_t typesig, const char *typenamestr)
 Allocates a uiControl. More...
 
void uiFreeControl (uiControl *c)
 Frees the memory associated with the control reference. More...
 
void uiControlVerifySetParent (uiControl *c, uiControl *parent)
 Makes sure the control's parent can be set to parent. More...
 
int uiControlEnabledToUser (uiControl *c)
 Returns whether or not the control can be interacted with by the user. More...
 

Additional Inherited Members

- Public Attributes inherited from uiControl
uint32_t Signature
 
uint32_t OSSignature
 
uint32_t TypeSignature
 
void(* Destroy )(uiControl *)
 
uintptr_t(* Handle )(uiControl *)
 
uiControl *(* Parent )(uiControl *)
 
void(* SetParent )(uiControl *, uiControl *)
 
int(* Toplevel )(uiControl *)
 
int(* Visible )(uiControl *)
 
void(* Show )(uiControl *)
 
void(* Hide )(uiControl *)
 
int(* Enabled )(uiControl *)
 
void(* Enable )(uiControl *)
 
void(* Disable )(uiControl *)
 

Detailed Description

A container control to organize contained controls as labeled fields.

As the name suggests this container is perfect to create ascetically pleasing input forms.

Each control is preceded by it's corresponding label.

Labels and containers are organized into two panes, making both labels and containers align with each other.

Member Function Documentation

◆ uiFormAppend()

void uiFormAppend ( uiForm f,
const char *  label,
uiControl c,
int  stretchy 
)

Appends a control with a label to the form.

Stretchy items expand to use the remaining space within the container. In the case of multiple stretchy items the space is shared equally.

Parameters
fuiForm instance.
labelLabel text.
A NUL terminated UTF-8 string.
Data is copied internally. Ownership is not transferred.
cControl to append.
stretchyTRUE to stretch control, FALSE otherwise.

◆ uiFormDelete()

void uiFormDelete ( uiForm f,
int  index 
)

Removes the control at index from the form.

Parameters
fuiForm instance.
indexIndex of the control to be removed.
Note
The control is neither destroyed nor freed.

◆ uiFormNumChildren()

int uiFormNumChildren ( uiForm f)

Returns the number of controls contained within the form.

Parameters
fuiForm instance.

◆ uiFormPadded()

int uiFormPadded ( uiForm f)

Returns whether or not controls within the form are padded.

Padding is defined as space between individual controls.

Parameters
fuiForm instance.
Returns
TRUE if controls are padded, FALSE otherwise. [Default: TODO]

◆ uiFormSetPadded()

void uiFormSetPadded ( uiForm f,
int  padded 
)

Sets whether or not controls within the box are padded.

Padding is defined as space between individual controls. The padding size is determined by the OS defaults.

Parameters
fuiForm instance.
paddedTRUE to make controls padded, FALSE otherwise.

◆ uiNewForm()

uiForm * uiNewForm ( void  )

Creates a new form.

Returns
A new uiForm instance.

The documentation for this struct was generated from the following file: