libui
A portable GUI library for C
Loading...
Searching...
No Matches
uiTab Struct Reference

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.

#include <ui.h>

Public Member Functions

int uiTabSelected (uiTab *t)
 Returns the index of the tab selected.
 
void uiTabSetSelected (uiTab *t, int index)
 Sets the tab selected.
 
void uiTabOnSelected (uiTab *t, void(*f)(uiTab *sender, void *senderData), void *data)
 Registers a callback for when a tab is selected.
 
void uiTabAppend (uiTab *t, const char *name, uiControl *c)
 Appends a control in form of a page/tab with label.
 
void uiTabInsertAt (uiTab *t, const char *name, int index, uiControl *c)
 Inserts a control in form of a page/tab with label at index.
 
void uiTabDelete (uiTab *t, int index)
 Removes the control at index.
 
int uiTabNumPages (uiTab *t)
 Returns the number of pages contained.
 
int uiTabMargined (uiTab *t, int index)
 Returns whether or not the page/tab at index has a margin.
 
void uiTabSetMargined (uiTab *t, int index, int margined)
 Sets whether or not the page/tab at index has a margin.
 
- Public Member Functions inherited from uiControl
void uiControlDestroy (uiControl *c)
 Dispose and free all allocated resources.
 
uintptr_t uiControlHandle (uiControl *c)
 Returns the control's OS-level handle.
 
uiControluiControlParent (uiControl *c)
 Returns the parent control.
 
void uiControlSetParent (uiControl *c, uiControl *parent)
 Sets the control's parent.
 
int uiControlToplevel (uiControl *c)
 Returns whether or not the control is a top level control.
 
int uiControlVisible (uiControl *c)
 Returns whether or not the control is visible.
 
void uiControlShow (uiControl *c)
 Shows the control.
 
void uiControlHide (uiControl *c)
 Hides the control.
 
int uiControlEnabled (uiControl *c)
 Returns whether or not the control is enabled.
 
void uiControlEnable (uiControl *c)
 Enables the control.
 
void uiControlDisable (uiControl *c)
 Disables the control.
 
void uiFreeControl (uiControl *c)
 Frees the memory associated with the control reference.
 
void uiControlVerifySetParent (uiControl *c, uiControl *parent)
 Makes sure the control's parent can be set to parent.
 
int uiControlEnabledToUser (uiControl *c)
 Returns whether or not the control can be interacted with by the user.
 
void uiControlSetTooltip (uiControl *c, const char *tooltip)
 Sets the control tooltip.
 

Static Public Member Functions

uiTabuiNewTab (void)
 Creates a new tab container.
 
- Static Public Member Functions inherited from uiControl
uiControluiAllocControl (size_t n, uint32_t OSsig, uint32_t typesig, const char *typenamestr)
 Allocates a uiControl.
 

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 *)
 

Member Function Documentation

◆ uiNewTab()

uiTab * uiNewTab ( void )
static

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.

◆ uiTabOnSelected()

void uiTabOnSelected ( uiTab * t,
void(* )(uiTab *sender, void *senderData),
void * data )

Registers a callback for when a tab is selected.

Parameters
tuiTab instance.
fCallback function.
sender Back reference to the instance that triggered the callback.
senderData User data registered with the sender instance.
dataUser data to be passed to the callback.
Note
The callback is not triggered when calling uiTabSetSelected(),
Only one callback can be registered at a time.

◆ uiTabSelected()

int uiTabSelected ( uiTab * t)

Returns the index of the tab selected.

Parameters
cuiTab instance.
Returns
Index of the tab selected

◆ 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.

◆ uiTabSetSelected()

void uiTabSetSelected ( uiTab * t,
int index )

Sets the tab selected.

Parameters
cuiTab instance.
indexIndex of the tab to be selected

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