Next: , Previous: , Up: Slider Object   [Contents][Index]


17.1.3 Slider Interaction

Whenever the user changes the value of the slider using the mouse, the slider is returned (unless there’s callback function associated with the object) by the interaction routines. The slider position is changed by moving the mouse inside the slider area. For fine control, hold down the <Shift> key while usinf the slider, in that case the slider doesn’t follow the mouse directly but at a lower speed.

Please note: the FL_VERT_PROGRESS_BAR and FL_HOR_PROGRESS_BAR aren’t actually valuator objects (they don’t react to any user interaction) but are vor visualization only (i.e., showing a progress bar that is changed by the program only), they appear here because they are directly derived from the FL_VERT_FILL_SLIDER and FL_VERT_FILL_SLIDER slider. Thus the only way to change the value of objects of these types is by calling fl_set_slider_value()! To obtain the correct "progress bar" behaviour you should also update the label accordingly.

In some cases you might not want the slider to be returned or its callback called each time its value changes. To change the default, call the following routine:

void fl_set_object_return(FL_OBJECT *obj, unsigned int when)

where the parameter when can be one of the four values:

FL_RETURN_NONE

Never return or invoke callback.

FL_RETURN_END_CHANGED

Return or invoke callback at end (mouse release) if value is changed since last return.

FL_RETURN_CHANGED

Return or invoke callback whenever the slider value is changed. This is the default.

FL_RETURN_END

Return or invoke callback at end (mouse release) regardless if the value is changed or not.

FL_RETURN_ALWAYS

Return or invoke callback when the value changed or at end (mouse release).

See the demo program objreturn.c for an example use of this.


Next: , Previous: , Up: Slider Object   [Contents][Index]