fsleyes_widgets.floatspin
This module provides the FloatSpinCtrl
class, a spin control for
modifying a floating point value.
- class fsleyes_widgets.floatspin.FloatSpinCtrl(parent, minValue=None, maxValue=None, increment=None, value=None, style=None, width=None, evDelta=None, precision=None)[source]
Bases:
Panel
A
FloatSpinCtrl
is awx.Panel
which contains awx.TextCtrl
and awx.SpinButton
, allowing the user to modify a floating point (or integer) value.The
FloatSpinCtrl
is an alternative towx.SpinCtrl
,wx.SpinCtrlDouble
, andwx.lib.agw.floatspin.FloatSpin
.wx.SpinCtrlDouble
: Under Linux/GTK, this widget does not allowthe user to enter values that are not a multiple of the increment.
wx.lib.agw.floatspin.FloatSpin
. Differs from thewx.SpinCtrl
API in various annoying ways, and formatting is a pain.
Create a
FloatSpinCtrl
.- The following style flags are available:
If set, mouse wheel events on the control will change the value.
If set, the control stores an integer value, rather than a floating point value.
If set, the control will allow the user to enter values that are outside of the current minimum/maximum limits.
- Parameters:
parent – The parent of this control (e.g. a
wx.Panel
).minValue – Initial minimum value.
maxValue – Initial maximum value.
increment – Default increment to apply when the user changes the value via the spin button or mouse wheel.
value – Initial value.
style – Style flags - a combination of
FSC_MOUSEWHEEL
,FSC_INTEGER
, andFSC_NO_LIMIT
.width – If provided, desired text control width (in characters).
evDelta –
Minimum time between consecutive
wx.SpinButton
events. On Linux/GTK, the wx.SpinButton is badly behaved - if, while clicking on the mouse button, the user moves the mouse even a tiny bit, more than one spin event will be generated. To work around this (without having to write my ownwx.SpinButton
implementation), theevDelta
parameter allows me to throttle the maximum rate at which events received from the spin button can be processed. This is implemented in the__onSpinDown()
and__onSpinUp()
methods.This has the side effect that if the user clicks and holds on the spin button, they have to wait <delta> seconds between increments/decrements.
precision – The desired precision to the right of the decimal value. Ignored if the
FSC_INTEGER
style is active.
- property textCtrl
Returns a reference to the
TextCtrl
contained in thisFloatSpinCtrl
.
- property spinButton
Returns a reference to the
SpinButton
contained in thisFloatSpinCtrl
.
- fsleyes_widgets.floatspin.EVT_FLOATSPIN = <wx.core.PyEventBinder object>
Identifier for the
FloatSpinEvent
event.
- fsleyes_widgets.floatspin.FloatSpinEvent
Event emitted when the floating point value is changed by the user. A
FloatSpinEvent
has the following attributes:value
: The new value.
- fsleyes_widgets.floatspin.FSC_MOUSEWHEEL = 1
If set, mouse wheel events on the control will change the value.
- fsleyes_widgets.floatspin.FSC_INTEGER = 2
If set, the control stores an integer value, rather than a floating point value.
- fsleyes_widgets.floatspin.FSC_NO_LIMIT = 4
If set, the control will allow the user to enter values that are outside of the current minimum/maximum limits.