pub struct Button { /* private fields */ }
Expand description
A simple push button with a contained view.
§Examples
§Button with an action
A button can be used to call an action when interacted with. Usually this is an event that is being emitted when the button is pressed.
Button::new(cx, |cx| Label::new(cx, "Text"))
.on_press(|ex| ex.emit(AppEvent::Action))
§Button without an action
A button can be used without an action and therefore do nothing when pressed. This is useful for prototyping and testing out the different styling options of a button without having to add an action.
Button::new(cx, |cx| Label::new(cx, "Text"));
§Button containing multiple views
A button can contain more than just a single view or label inside of it. This can
for example be done by using a HStack
or VStack
.
Button::new(
cx,
|cx| {
HStack::new(cx, |cx| {
Label::new(cx, "Hello");
Label::new(cx, "World");
})
},
);
§Button Variants
The style of a button can be modified using the variant
modifier from the ButtonModifiers
trait
by specifying the ButtonVariant
.
Button::new(cx, |cx| Label::new(cx, "Text"))
.variant(ButtonVariant::Accent);
Implementations§
Trait Implementations§
Source§impl View for Button
impl View for Button
Source§fn element(&self) -> Option<&'static str>
fn element(&self) -> Option<&'static str>
Specifies a name for the view type which can be used as an element selector in css. Read more
Source§fn event(&mut self, cx: &mut EventContext<'_>, event: &mut Event)
fn event(&mut self, cx: &mut EventContext<'_>, event: &mut Event)
Handles any events received by the view. Read more
Source§fn build<F>(self, cx: &mut Context, content: F) -> Handle<'_, Self>
fn build<F>(self, cx: &mut Context, content: F) -> Handle<'_, Self>
Builds the view into the tree and returns a handle which can be used to apply style and layout modifiers to the view. Read more
Source§fn draw(&self, cx: &mut DrawContext<'_>, canvas: &Canvas)
fn draw(&self, cx: &mut DrawContext<'_>, canvas: &Canvas)
Provides custom drawing for the view. Read more
Source§fn accessibility(&self, cx: &mut AccessContext<'_>, node: &mut AccessNode)
fn accessibility(&self, cx: &mut AccessContext<'_>, node: &mut AccessNode)
Provides a way to configure the accessibility features of a view.
Auto Trait Implementations§
impl Freeze for Button
impl !RefUnwindSafe for Button
impl !Send for Button
impl !Sync for Button
impl Unpin for Button
impl !UnwindSafe for Button
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
§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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.