Struct kas_widgets::Button
source · pub struct Button<W: Widget> {
pub inner: W,
/* private fields */
}
Expand description
A push-button with a generic label
Default alignment of content is centered.
Fields§
§inner: W
Implementations§
source§impl<W: Widget> Button<W>
impl<W: Widget> Button<W>
sourcepub fn with(self, f: impl Fn(&mut EventCx<'_>, &W::Data) + 'static) -> Self
pub fn with(self, f: impl Fn(&mut EventCx<'_>, &W::Data) + 'static) -> Self
Call the handler f
on press / activation
sourcepub fn new_msg<M: Clone + Debug + 'static>(inner: W, msg: M) -> Self
pub fn new_msg<M: Clone + Debug + 'static>(inner: W, msg: M) -> Self
Construct a button with a given inner
and payload msg
When the button is activated, a clone of msg
is sent to the
parent widget. The parent (or an ancestor) should handle this using
Events::handle_messages
.
sourcepub fn with_access_key(self, key: Key) -> Self
pub fn with_access_key(self, key: Key) -> Self
Add access key (chain style)
sourcepub fn with_color(self, color: Rgb) -> Self
pub fn with_color(self, color: Rgb) -> Self
Set button color (chain style)
source§impl Button<AccessLabel>
impl Button<AccessLabel>
sourcepub fn label(label: impl Into<AccessString>) -> Self
pub fn label(label: impl Into<AccessString>) -> Self
Construct a button with the given label
This is a convenience method. It may be possible to merge this
functionality into Button::new
once Rust has support for
overlapping trait implementations (not specialisation).
sourcepub fn label_msg<M>(label: impl Into<AccessString>, msg: M) -> Self
pub fn label_msg<M>(label: impl Into<AccessString>, msg: M) -> Self
Construct a button with the given label
and payload msg
This is a convenience method. It may be possible to merge this
functionality into Button::new_msg
once Rust has support for
overlapping trait implementations (not specialisation).
Trait Implementations§
source§impl<W: Widget> AutoLayout for Button<W>
impl<W: Widget> AutoLayout for Button<W>
source§impl<W: Widget> Events for Button<W>
impl<W: Widget> Events for Button<W>
source§fn handle_messages(&mut self, cx: &mut EventCx<'_>, data: &W::Data)
fn handle_messages(&mut self, cx: &mut EventCx<'_>, data: &W::Data)
source§fn handle_hover(&mut self, cx: &mut EventCx<'_>, _: bool) -> IsUsed
fn handle_hover(&mut self, cx: &mut EventCx<'_>, _: bool) -> IsUsed
source§fn steal_event(
&mut self,
_: &mut EventCx<'_>,
_: &Self::Data,
_: &Id,
_: &Event
) -> IsUsed
fn steal_event( &mut self, _: &mut EventCx<'_>, _: &Self::Data, _: &Id, _: &Event ) -> IsUsed
source§fn configure_recurse(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
fn configure_recurse(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
source§fn update(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
fn update(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
source§impl<W: Widget> Layout for Button<W>
impl<W: Widget> Layout for Button<W>
source§fn widget_name(&self) -> &'static str
fn widget_name(&self) -> &'static str
source§fn num_children(&self) -> usize
fn num_children(&self) -> usize
source§fn get_child(&self, index: usize) -> Option<&dyn Layout>
fn get_child(&self, index: usize) -> Option<&dyn Layout>
dyn Layout
Read moresource§fn size_rules(&mut self, sizer: SizeCx<'_>, axis: AxisInfo) -> SizeRules
fn size_rules(&mut self, sizer: SizeCx<'_>, axis: AxisInfo) -> SizeRules
source§fn find_child_index(&self, id: &Id) -> Option<usize>
fn find_child_index(&self, id: &Id) -> Option<usize>
id
, if any Read moresource§fn translation(&self) -> Offset
fn translation(&self) -> Offset
Auto Trait Implementations§
impl<W> !RefUnwindSafe for Button<W>
impl<W> !Send for Button<W>
impl<W> !Sync for Button<W>
impl<W> Unpin for Button<W>where
W: Unpin,
impl<W> !UnwindSafe for Button<W>
Blanket Implementations§
source§impl<W> AdaptWidget for Wwhere
W: Widget,
impl<W> AdaptWidget for Wwhere
W: Widget,
source§fn on_configure<F>(self, f: F) -> AdaptEvents<Self>
fn on_configure<F>(self, f: F) -> AdaptEvents<Self>
Events::configure
Read moresource§fn on_update<F>(self, f: F) -> AdaptEvents<Self>
fn on_update<F>(self, f: F) -> AdaptEvents<Self>
Events::update
Read moresource§fn on_message<M, H>(self, handler: H) -> AdaptEvents<Self>
fn on_message<M, H>(self, handler: H) -> AdaptEvents<Self>
M
Read moresource§fn on_messages<H>(self, handler: H) -> AdaptEvents<Self>
fn on_messages<H>(self, handler: H) -> AdaptEvents<Self>
source§fn with_min_size_px(self, w: i32, h: i32) -> Reserve<Self>
fn with_min_size_px(self, w: i32, h: i32) -> Reserve<Self>
source§fn with_min_size_em(self, w: f32, h: f32) -> Reserve<Self>
fn with_min_size_em(self, w: f32, h: f32) -> Reserve<Self>
source§fn with_label<D, T>(self, direction: D, label: T) -> WithLabel<Self, D>
fn with_label<D, T>(self, direction: D, label: T) -> WithLabel<Self, D>
source§impl<W> AdaptWidgetAny for W
impl<W> AdaptWidgetAny for W
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§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
§fn cast_nearest(self) -> T
fn cast_nearest(self) -> T
§fn cast_floor(self) -> T
fn cast_floor(self) -> T
§fn try_cast_trunc(self) -> Result<T, Error>
fn try_cast_trunc(self) -> Result<T, Error>
§fn try_cast_nearest(self) -> Result<T, Error>
fn try_cast_nearest(self) -> Result<T, Error>
§fn try_cast_floor(self) -> Result<T, Error>
fn try_cast_floor(self) -> Result<T, Error>
§fn try_cast_ceil(self) -> Result<T, Error>
fn try_cast_ceil(self) -> Result<T, Error>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<W> LayoutExt for W
impl<W> LayoutExt for W
source§fn identify(&self) -> IdentifyWidget<'_>
fn identify(&self) -> IdentifyWidget<'_>
source§fn is_strict_ancestor_of(&self, id: &Id) -> bool
fn is_strict_ancestor_of(&self, id: &Id) -> bool
id
is not self and is a descendant Read more