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

A multi page control interface that displays one page at a time. More...

#include <ui.h>

Inheritance diagram for uiTab:
uiControl

Public Member Functions

void uiTabAppend (uiTab *t, const char *name, uiControl *c)
 Appends a control in form of a page/tab with label. More...
 
void uiTabInsertAt (uiTab *t, const char *name, int index, uiControl *c)
 Inserts a control in form of a page/tab with label at index. More...
 
void uiTabDelete (uiTab *t, int index)
 Removes the control at index. More...
 
int uiTabNumPages (uiTab *t)
 Returns the number of pages contained. More...
 
int uiTabMargined (uiTab *t, int index)
 Returns whether or not the page/tab at index has a margin. More...
 
void uiTabSetMargined (uiTab *t, int index, int margined)
 Sets whether or not the page/tab at index has a margin. More...
 
uiTabuiNewTab (void)
 Creates a new tab container. 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 multi page control interface that displays one page at a time.

Each page/tab has an associated label that can be selected to switch between pages/tabs.

Member Function Documentation

◆ uiNewTab()

uiTab * uiNewTab ( void  )

Creates a new tab container.

Returns
A new uiTab instance.

◆ uiTabAppend()

void uiTabAppend ( uiTab t,
const char *  name,
uiControl c 
)

Appends a control in form of a page/tab with label.

Parameters
tuiTab instance.
nameLabel text.
A valid, NUL terminated UTF-8 string.
Data is copied internally. Ownership is not transferred.
cControl to append.

◆ uiTabDelete()

void uiTabDelete ( uiTab t,
int  index 
)

Removes the control at index.

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

◆ uiTabInsertAt()

void uiTabInsertAt ( uiTab t,
const char *  name,
int  index,
uiControl c 
)

Inserts a control in form of a page/tab with label at index.

Parameters
tuiTab instance.
nameLabel text.
A valid, NUL terminated UTF-8 string.
Data is copied internally. Ownership is not transferred.
indexIndex at which to insert the control.
cControl to insert.

◆ uiTabMargined()

int uiTabMargined ( uiTab t,
int  index 
)

Returns whether or not the page/tab at index has a margin.

Parameters
tuiTab instance.
indexIndex to check if it has a margin.
Returns
TRUE if the tab has a margin, FALSE otherwise. [Default: TODO]

◆ uiTabNumPages()

int uiTabNumPages ( uiTab t)

Returns the number of pages contained.

Parameters
tuiTab instance.
Returns
Number of pages.

◆ uiTabSetMargined()

void uiTabSetMargined ( uiTab t,
int  index,
int  margined 
)

Sets whether or not the page/tab at index has a margin.

The margin size is determined by the OS defaults.

Parameters
tuiTab instance.
indexIndex of the tab/page to un/set margin for.
marginedTRUE to set a margin for tab at index, FALSE otherwise.

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