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

A control to display and modify integer values via a user draggable slider. More...

#include <ui.h>

Inheritance diagram for uiSlider:
uiControl

Public Member Functions

int uiSliderValue (uiSlider *s)
 Returns the slider value. More...
 
void uiSliderSetValue (uiSlider *s, int value)
 Sets the slider value. More...
 
int uiSliderHasToolTip (uiSlider *s)
 Returns whether or not the slider has a tool tip. More...
 
void uiSliderSetHasToolTip (uiSlider *s, int hasToolTip)
 Sets whether or not the slider has a tool tip. More...
 
void uiSliderOnChanged (uiSlider *s, void(*f)(uiSlider *sender, void *senderData), void *data)
 Registers a callback for when the slider value is changed by the user. More...
 
void uiSliderOnReleased (uiSlider *s, void(*f)(uiSlider *sender, void *senderData), void *data)
 Registers a callback for when the slider is released from dragging. More...
 
void uiSliderSetRange (uiSlider *s, int min, int max)
 Sets the slider range. More...
 
uiSlideruiNewSlider (int min, int max)
 Creates a new slider. 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 control to display and modify integer values via a user draggable slider.

Values are guaranteed to be within the specified range.

Sliders by default display a tool tip showing the current value when being dragged.

Sliders are horizontal only.

Member Function Documentation

◆ uiNewSlider()

uiSlider * uiNewSlider ( int  min,
int  max 
)

Creates a new slider.

The initial slider value equals the minimum value.

In the current implementation min and max are swapped if min>max. This may change in the future though. See TODO.

Parameters
minMinimum value.
maxMaximum value.
Returns
A new uiSlider instance.
Todo:
complain or disallow min>max?

◆ uiSliderHasToolTip()

int uiSliderHasToolTip ( uiSlider s)

Returns whether or not the slider has a tool tip.

Parameters
suiSlider instance.
Returns
TRUE if a tool tip is present, FALSE otherwise. [Default TRUE]

◆ uiSliderOnChanged()

void uiSliderOnChanged ( uiSlider s,
void(*)(uiSlider *sender, void *senderData)  f,
void *  data 
)

Registers a callback for when the slider value is changed by the user.

Parameters
suiSlider 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 uiSliderSetValue().
Only one callback can be registered at a time.

◆ uiSliderOnReleased()

void uiSliderOnReleased ( uiSlider s,
void(*)(uiSlider *sender, void *senderData)  f,
void *  data 
)

Registers a callback for when the slider is released from dragging.

Parameters
suiSlider 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
Only one callback can be registered at a time.

◆ uiSliderSetHasToolTip()

void uiSliderSetHasToolTip ( uiSlider s,
int  hasToolTip 
)

Sets whether or not the slider has a tool tip.

Parameters
suiSlider instance.
hasToolTipTRUE to display a tool tip, FALSE to display no tool tip.

◆ uiSliderSetRange()

void uiSliderSetRange ( uiSlider s,
int  min,
int  max 
)

Sets the slider range.

Parameters
suiSlider instance.
minMinimum value.
maxMaximum value.
Todo:
Make sure to clamp the slider value to the nearest value in range - should it be out of range. Call uiSliderOnChanged() in such a case.

◆ uiSliderSetValue()

void uiSliderSetValue ( uiSlider s,
int  value 
)

Sets the slider value.

Parameters
suiSlider intance.
valueValue to set.

◆ uiSliderValue()

int uiSliderValue ( uiSlider s)

Returns the slider value.

Parameters
suiSlider instance.
Returns
Slider value.

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