Struct kas_widgets::Spinner
source · pub struct Spinner<T: SpinnerValue> { /* private fields */ }
Expand description
A numeric entry widget with up/down arrows
The value is constrained to a given range
. Increment and decrement
operations advance to the next/previous multiple of step
.
Recommendations for optimal behaviour:
- Ensure that range end points are a multiple of
step
- With floating-point types, ensure that
step
is exactly representable, e.g. an integer or a power of 2.
Implementations§
source§impl<T: SpinnerValue> Spinner<T>
impl<T: SpinnerValue> Spinner<T>
sourcepub fn new(range: RangeInclusive<T>, step: T) -> Self
pub fn new(range: RangeInclusive<T>, step: T) -> Self
Construct a spinner with given range
and step
sourcepub fn new_on<F>(range: RangeInclusive<T>, step: T, f: F) -> Selfwhere
F: Fn(&mut EventMgr<'_>, T) + 'static,
pub fn new_on<F>(range: RangeInclusive<T>, step: T, f: F) -> Selfwhere F: Fn(&mut EventMgr<'_>, T) + 'static,
Construct a spinner with event handler f
This closure is called when the value is changed.
sourcepub fn on_change<F>(self, f: F) -> Selfwhere
F: Fn(&mut EventMgr<'_>, T) + 'static,
pub fn on_change<F>(self, f: F) -> Selfwhere F: Fn(&mut EventMgr<'_>, T) + 'static,
Set event handler f
This closure is called when the value is changed, specifically:
- If the increment/decrement buttons, Up/Down keys or mouse scroll wheel is used and the value changes
- If the value is adjusted via the edit box and the result is valid
- If Enter is pressed in the edit box
sourcepub fn with_class(self, class: TextClass) -> Self
pub fn with_class(self, class: TextClass) -> Self
Set the text class used
The default is: TextClass::Edit(false)
.
sourcepub fn set_width_em(&mut self, min_em: f32, ideal_em: f32)
pub fn set_width_em(&mut self, min_em: f32, ideal_em: f32)
Adjust the width allocation
sourcepub fn with_width_em(self, min_em: f32, ideal_em: f32) -> Self
pub fn with_width_em(self, min_em: f32, ideal_em: f32) -> Self
Adjust the width allocation (inline)
sourcepub fn with_value(self, value: T) -> Self
pub fn with_value(self, value: T) -> Self
Set the initial value
sourcepub fn set_value(&mut self, value: T) -> Action
pub fn set_value(&mut self, value: T) -> Action
Set the value
Returns Action::REDRAW
if a redraw is required.
Trait Implementations§
source§impl<T: SpinnerValue> AutoLayout for Spinner<T>
impl<T: SpinnerValue> AutoLayout for Spinner<T>
source§impl<T: SpinnerValue> Debug for Spinner<T>
impl<T: SpinnerValue> Debug for Spinner<T>
source§impl<T: SpinnerValue> Layout for Spinner<T>
impl<T: SpinnerValue> Layout for Spinner<T>
source§impl<T: SpinnerValue> Widget for Spinner<T>
impl<T: SpinnerValue> Widget for Spinner<T>
source§fn steal_event(
&mut self,
mgr: &mut EventMgr<'_>,
_: &WidgetId,
event: &Event
) -> Response
fn steal_event( &mut self, mgr: &mut EventMgr<'_>, _: &WidgetId, event: &Event ) -> Response
Potentially steal an event before it reaches a child Read more
source§fn handle_message(&mut self, mgr: &mut EventMgr<'_>)
fn handle_message(&mut self, mgr: &mut EventMgr<'_>)
Handler for messages from children/descendants Read more
Navigation in spatial order Read more
Is this widget navigable via Tab key? Read more
source§fn translation(&self) -> Offset
fn translation(&self) -> Offset
Get translation of children relative to this widget Read more
source§impl<T: SpinnerValue> WidgetChildren for Spinner<T>
impl<T: SpinnerValue> WidgetChildren for Spinner<T>
source§fn num_children(&self) -> usize
fn num_children(&self) -> usize
Get the number of child widgets Read more
source§fn get_child(&self, _index: usize) -> Option<&dyn Widget>
fn get_child(&self, _index: usize) -> Option<&dyn Widget>
Get a reference to a child widget by index, or
None
if the index is
out of bounds. Read moresource§fn get_child_mut(&mut self, _index: usize) -> Option<&mut dyn Widget>
fn get_child_mut(&mut self, _index: usize) -> Option<&mut dyn Widget>
Mutable variant of get Read more
source§impl<T: SpinnerValue> WidgetCore for Spinner<T>
impl<T: SpinnerValue> WidgetCore for Spinner<T>
source§fn widget_name(&self) -> &'static str
fn widget_name(&self) -> &'static str
Get the name of the widget struct
source§fn as_widget_mut(&mut self) -> &mut dyn Widget
fn as_widget_mut(&mut self) -> &mut dyn Widget
Erase type
Auto Trait Implementations§
impl<T> !RefUnwindSafe for Spinner<T>
impl<T> !Send for Spinner<T>
impl<T> !Sync for Spinner<T>
impl<T> Unpin for Spinner<T>where T: Unpin,
impl<T> !UnwindSafe for Spinner<T>
Blanket Implementations§
§impl<S, T> Cast<T> for Swhere
T: Conv<S>,
impl<S, T> Cast<T> for Swhere T: Conv<S>,
§impl<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
impl<S, T> CastApprox<T> for Swhere T: ConvApprox<S>,
§fn try_cast_approx(self) -> Result<T, Error>
fn try_cast_approx(self) -> Result<T, Error>
§fn cast_approx(self) -> T
fn cast_approx(self) -> T
§impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
impl<S, T> CastFloat<T> for Swhere T: ConvFloat<S>,
§fn cast_trunc(self) -> T
fn cast_trunc(self) -> T
Cast to integer, truncating Read more
§fn cast_nearest(self) -> T
fn cast_nearest(self) -> T
Cast to the nearest integer Read more
§fn cast_floor(self) -> T
fn cast_floor(self) -> T
Cast the floor to an integer Read more
§fn try_cast_trunc(self) -> Result<T, Error>
fn try_cast_trunc(self) -> Result<T, Error>
Try converting to integer with truncation Read more
§fn try_cast_nearest(self) -> Result<T, Error>
fn try_cast_nearest(self) -> Result<T, Error>
Try converting to the nearest integer Read more
§fn try_cast_floor(self) -> Result<T, Error>
fn try_cast_floor(self) -> Result<T, Error>
Try converting the floor to an integer Read more
§fn try_cast_ceil(self) -> Result<T, Error>
fn try_cast_ceil(self) -> Result<T, Error>
Try convert the ceiling to an integer Read more
source§impl<W> WidgetExt for Wwhere
W: Widget + ?Sized,
impl<W> WidgetExt for Wwhere W: Widget + ?Sized,
source§fn eq_id<T>(&self, rhs: T) -> boolwhere
WidgetId: PartialEq<T>,
fn eq_id<T>(&self, rhs: T) -> boolwhere WidgetId: PartialEq<T>,
Test widget identifier for equality Read more
source§fn identify(&self) -> IdentifyWidget
fn identify(&self) -> IdentifyWidget
Display as “StructName#WidgetId”
source§fn is_ancestor_of(&self, id: &WidgetId) -> bool
fn is_ancestor_of(&self, id: &WidgetId) -> bool
Check whether
id
is self or a descendant Read moresource§fn is_strict_ancestor_of(&self, id: &WidgetId) -> bool
fn is_strict_ancestor_of(&self, id: &WidgetId) -> bool
Check whether
id
is not self and is a descendant Read more