fsleyes_widgets.floatslider

This module provides two classes, the FloatSlider and SliderSpinPanel, which allow the user to modify floating point values.

class fsleyes_widgets.floatslider.FloatSlider(parent, value=None, minValue=None, maxValue=None, style=0)

Bases: wx._core.Panel

Floating point slider widget.

This class is an alternative to wx.Slider, which supports floating point numbers of any range. The desired range is transformed into the internal range \([-2^{31}, 2^{31-1}]\).

A EVT_SLIDER event is emitted whenever the user changes the value.

Create a FloatSlider.

The following style flags are available:

FS_MOUSEWHEEL

If set, mouse wheel events on the slider will change the value.

FS_INTEGER

If set, the slider will store an integer value instead of a floating point value.

Parameters
  • parent – The wx parent object.

  • value – Initial slider value.

  • minValue – Minimum slider value.

  • maxValue – Maximum slider value.

  • style – A combination of FS_MOUSEWHEEL and FS_INTEGER.

GetRange()

Return a tuple containing the (minimum, maximum) slider values.

SetRange(minValue, maxValue)

Set the minimum/maximum slider values.

GetMin()

Return the minimum slider value.

GetMax()

Return the maximum slider value.

SetMin(minValue)

Set the minimum slider value.

SetMax(maxValue)

Set the maximum slider value.

SetValue(value)

Set the slider value. Returns True if the value changed, False otherwise.

GetValue()

Returns the slider value.

class fsleyes_widgets.floatslider.SliderSpinPanel(parent, value=None, minValue=None, maxValue=None, label=None, style=None, spinWidth=None)

Bases: wx._core.Panel

A panel containing a FloatSlider and a FloatSpinCtrl.

The slider and spinbox are linked such that changes to one are reflected in the other. The SliderSpinPanel class also provides the option to have the minimum/maximum limits displayed on either side of the slider/spinbox, and to have those limits editable via a NumberDialog .

Users of the SliderSpinPanel may wish to bind listeners to the following events:

Create a SliderSpinPanel.

The following style flags are available:

SSP_SHOW_LIMITS

If set, the data range limits are shown alongside the slider/spin control widgets.

SSP_EDIT_LIMITS

If set, and SSP_SHOW_LIMITS is also set, the data range limits are shown on buttons alongside the slider/spin control widgets.

SSP_MOUSEWHEEL

If set, mouse wheel events on the slider/spin controls will change the value.

SSP_INTEGER

If set, the SliderSpinPanel will store an integer value instead of floating point value.

Parameters
property slider

Returts a reference to the FloatSlider contained in this SliderSpinPanel.

property spinCtrl

Returts a reference to the FloatSpinCtrl contained in this SliderSpinPanel.

GetRange()

Return a tuple containing the (minimum, maximum) slider/spinbox values.

GetMin()

Returns the minimum slider/spinbox value.

GetMax()

Returns the maximum slider/spinbox value.

GetValue()

Returns the current slider/spinbox value.

SetRange(minValue, maxValue)

Sets the minimum/maximum slider/spinbox values.

SetMin(minValue)

Sets the minimum slider/spinbox value.

SetMax(maxValue)

Sets the maximum slider/spinbox value.

SetValue(value)

Sets the current slider/spinbox value.

fsleyes_widgets.floatslider.FS_MOUSEWHEEL = 1

If set, mouse wheel events on the slider will change the value.

fsleyes_widgets.floatslider.FS_INTEGER = 2

If set, the slider will store an integer value instead of a floating point value.

fsleyes_widgets.floatslider.EVT_SSP_VALUE = <wx.core.PyEventBinder object>

Identifier for the SliderSpinValueEvent.

fsleyes_widgets.floatslider.EVT_SSP_LIMIT = <wx.core.PyEventBinder object>

Identifier for the SliderSpinLimitEvent.

fsleyes_widgets.floatslider.SliderSpinValueEvent

alias of wx.lib.newevent.NewEvent.<locals>._Event

fsleyes_widgets.floatslider.SliderSpinLimitEvent

alias of wx.lib.newevent.NewEvent.<locals>._Event

fsleyes_widgets.floatslider.SSP_SHOW_LIMITS = 1

If set, the data range limits are shown alongside the slider/spin control widgets.

fsleyes_widgets.floatslider.SSP_EDIT_LIMITS = 2

If set, and SSP_SHOW_LIMITS is also set, the data range limits are shown on buttons alongside the slider/spin control widgets.

When the user pushes the button, a NumberDialog is shown, allowing the user to change the data range.

fsleyes_widgets.floatslider.SSP_MOUSEWHEEL = 4

If set, mouse wheel events on the slider/spin controls will change the value.

fsleyes_widgets.floatslider.SSP_INTEGER = 8

If set, the SliderSpinPanel will store an integer value instead of floating point value.

fsleyes_widgets.floatslider.SSP_NO_LIMITS = 16

If set, the user is able to enter values outside of the range into the spin controls.