Wt  3.2.2
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions
Wt::WSlider Class Reference

A horizontal or vertical slider control. More...

#include <Wt/WSlider>

Inheritance diagram for Wt::WSlider:
Inheritance graph
[legend]

List of all members.

Public Types

enum  TickPosition { TicksAbove = 0x1, TicksBelow = 0x2, TicksLeft = 0x1, TicksRight = 0x2 }
 Enumeration that specifies the location of ticks. More...

Public Member Functions

 WSlider (WContainerWidget *parent=0)
 Creates a default horizontal slider.
 WSlider (Orientation orientation, WContainerWidget *parent=0)
 Creates a default slider of the given orientation.
 ~WSlider ()
 Destructor.
void setNativeControl (bool nativeControl)
 Configures whether a native HTML5 control should be used.
bool nativeControl () const
 Returns whether a native HTML5 control is used.
void setOrientation (Wt::Orientation orientation)
 Sets the slider orientation.
Orientation orientation () const
 Returns the slider orientation.
void setTickInterval (int tickInterval)
 Sets the tick interval.
int tickInterval () const
 Returns the tick interval.
void setTickPosition (WFlags< TickPosition > tickPosition)
 Sets the tick position.
WFlags< TickPositiontickPosition () const
 Returns the tick position.
void setValue (int value)
 Sets the slider value.
int value () const
 Returns the current slider value.
void setMaximum (int maximum)
 Sets the maximum value.
int maximum () const
 Returns the maximum value.
void setMinimum (int minimum)
 Sets the minimum value.
int minimum () const
 Returns the minimum value.
void setRange (int minimum, int maximum)
 Sets the value range.
Signal< int > & valueChanged ()
 Signal emitted when the user has changed the value of the slider.
JSignal< int > & sliderMoved ()
 Signal emitted while the user drags the slider.
virtual void setDisabled (bool disabled)
 Sets whether the widget is disabled.
virtual void resize (const WLength &width, const WLength &height)
 Resizes the widget.
virtual WString valueText () const
 Returns the current value.
virtual void setValueText (const WString &value)
 Sets the value text.

Static Public Attributes

static const Wt::WFlags
< TickPosition
NoTicks = 0
 Do not render ticks.
static const Wt::WFlags
< TickPosition
TicksBothSides = TicksAbove | TicksBelow
 Render ticks on both sides.

Protected Member Functions

virtual void layoutSizeChanged (int width, int height)
 Virtual method that indicates a size change.

Detailed Description

A horizontal or vertical slider control.

A slider allows the user to specify an integer value within a particular range using a visual slider.

The slider must be sized explicitly using resize() or by a layout manager. The default size is 150 x 50 pixels for a horizontal slider, and 50 x 150 pixels for a vertical slider.

Usage example:

 Wt::WSlider *scaleSlider = new Wt::WSlider(Wt::Horizontal);
 scaleSlider->setMinimum(0);
 scaleSlider->setMaximum(20);
 scaleSlider->setValue(10);
 scaleSlider->setTickInterval(5);
 scaleSlider->setTickPosition(Wt::WSlider::TicksBothSides);
 scaleSlider->resize(300, 50);
 scaleSlider->valueChanged().connect(this, &ThisClass::scaleShape);
WSlider-1.png
Horizontal slider with ticks on both sides.

CSS

The non-native slider (HTML4, see setNativeControl()) is styled by the current CSS theme. The look can be overridden using the Wt-slider-[hv] CSS class and the following selectors (shown here for a horizontal slider, the vertical slider is equivalent but using Wt-slider-v instead of Wt-slider-h:

.Wt-slider-h .Wt-slider-bg : A background sized with 5px left/right margin
.Wt-slider-h .Wt-e         : A west background image (5px width)
.Wt-slider-h .Wt-w         : An east background image (5px width)
.Wt-slider-h .handle       : The handle (20px width)

Member Enumeration Documentation

Enumeration that specifies the location of ticks.

Enumerator:
TicksAbove 

Render ticks above (horizontal slider)

TicksBelow 

Render ticks below (horizontal slider)

TicksLeft 

Render ticks on the left side (vertical slider)

TicksRight 

Render ticks on the right side (vertical slider)


Constructor & Destructor Documentation

Wt::WSlider::WSlider ( WContainerWidget parent = 0)

Creates a default horizontal slider.

The slider shows no ticks, has a range from 0 to 99, and has tickInterval of 0 (defaulting to three ticks over the whole range).

The initial value is 0.

Wt::WSlider::WSlider ( Orientation  orientation,
WContainerWidget parent = 0 
)

Creates a default slider of the given orientation.

The slider shows no ticks, has a range from 0 to 99, and has tickInterval of 0 (defaulting to three ticks over the whole range).

The initial value is 0.


Member Function Documentation

void Wt::WSlider::layoutSizeChanged ( int  width,
int  height 
) [protected, virtual]

Virtual method that indicates a size change.

This method propagates the client-side width and height of the widget when the widget is contained by a layout manager and setLayoutSizeAware(true) was called.

See also:
setLayoutSizeAware()

Reimplemented from Wt::WWidget.

int Wt::WSlider::maximum ( ) const

Returns the maximum value.

See also:
setMaximum(int)
int Wt::WSlider::minimum ( ) const

Returns the minimum value.

See also:
setMinimum(int)
bool Wt::WSlider::nativeControl ( ) const

Returns whether a native HTML5 control is used.

Taking into account the preference for a native control, configured using setNativeControl(), this method returns whether a native control is actually being used.

Orientation Wt::WSlider::orientation ( ) const

Returns the slider orientation.

See also:
setOrientation()
void Wt::WSlider::resize ( const WLength width,
const WLength height 
) [virtual]

Resizes the widget.

Specifies a fixed size for this widget, setting CSS width and height properties. By default a widget has automatic width and height, which sets a size for the widget following CSS rules.

When the widget is not managed by a layout manager, the automatic (natural) size of a widget depends on whether they widget is a block or inline widget:

  • a block widget takes by default the width of the parent, and the height that it needs based on its contents
  • an inline widget takes the width and height that it needs based on its contents (possibly wrapping over multiple lines). The width and height of an inline widget cannot be changed (by the letter of CSS, although most browsers will react to it in varying ways).

When inserted in a layout manager, the size set will be used as a widget's preferred size, but the widget may be given a different size by the layout manager based on available space and stretch factors. The actual size given by a layout manager may be retrieved by making the widget "layout size aware", using setLayoutSizeAware(). If you have defined a "wtResize()" JavaScript method for the widget, then this method will also be called.

The default width and height of a widget is WLength::Auto.

See also:
width(), height()

Reimplemented from Wt::WWebWidget.

void Wt::WSlider::setDisabled ( bool  disabled) [virtual]

Sets whether the widget is disabled.

Enables or disables the widget (including all its descendant widgets). setDisabled(false) will enable this widget and all descendant widgets that are not disabled. A widget is only enabled if it and all its ancestors in the widget tree are disabled.

Typically, a disabled form widget will not allow changing the value, and disabled widgets will not react to mouse click events.

See also:
disable(), enable()

Reimplemented from Wt::WWebWidget.

void Wt::WSlider::setMaximum ( int  maximum)

Sets the maximum value.

The maximum value defines the upper limit of the valid range. The lower limit and current value are automatically adjusted to remain valid.

See also:
maximum(), setMinimum(), setRange()
void Wt::WSlider::setMinimum ( int  minimum)

Sets the minimum value.

The minimum value defines the lower limit of the valid range. The upper limit and current value are automatically adjusted to remain valid.

See also:
minimum(), setMaximum(), setRange()
void Wt::WSlider::setNativeControl ( bool  nativeControl)

Configures whether a native HTML5 control should be used.

When native, the new "range" input element, specified by HTML5 and when implemented by the browser, is used rather than the built-in element. A native control is styled by the browser (usually in sync with the OS) rather than through the theme chosen. Settings like tick interval and tick position are ignored.

Note:
Vertically oriented sliders are in theory supported by the HTML5 input element, but in practice are usually not rendered correctly by the browser.
void Wt::WSlider::setOrientation ( Wt::Orientation  orientation)

Sets the slider orientation.

See also:
orientation()
void Wt::WSlider::setRange ( int  minimum,
int  maximum 
)

Sets the value range.

See also:
setMinimum(), setMaximum()
void Wt::WSlider::setTickInterval ( int  tickInterval)

Sets the tick interval.

The tick interval specifies the interval for placing ticks along the slider. The interval is specified in value units (not pixel units). A value of 0 specifies an automatic tick interval, which defaults to 3 ticks spanning the whole range.

See also:
tickInterval(), setTickPosition()
void Wt::WSlider::setTickPosition ( WFlags< TickPosition tickPosition)

Sets the tick position.

The tick position indicates if and where ticks are placed around the slider groove.

See also:
tickPosition(), setTickInterval()
void Wt::WSlider::setValue ( int  value)

Sets the slider value.

The value is automatically trimmed to the valid range (minimum() to maximum()).

See also:
value()
void Wt::WSlider::setValueText ( const WString value) [virtual]

Sets the value text.

This sets the current value from a string value.

Implements Wt::WFormWidget.

JSignal<int>& Wt::WSlider::sliderMoved ( )

Signal emitted while the user drags the slider.

The current dragged position is passed as the argument. Note that the slider value is not changed while dragging the slider, but only after the slider has been released.

See also:
valueChanged()
int Wt::WSlider::tickInterval ( ) const

Returns the tick interval.

See also:
setTickInterval()
WFlags<TickPosition> Wt::WSlider::tickPosition ( ) const

Returns the tick position.

See also:
setTickPosition(), setTickInterval()
int Wt::WSlider::value ( ) const

Returns the current slider value.

See also:
setValue()
Signal<int>& Wt::WSlider::valueChanged ( )

Signal emitted when the user has changed the value of the slider.

The new value is passed as the argument.

See also:
sliderMoved()
WString Wt::WSlider::valueText ( ) const [virtual]

Returns the current value.

This returns the current value as a string.

Implements Wt::WFormWidget.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator

Generated on Fri Jul 27 2012 for the C++ Web Toolkit (Wt) by doxygen 1.7.5.1