pub struct Button<'a, Message, Theme = Theme, Renderer = Renderer<Renderer, Renderer>>{ /* private fields */ }
Expand description
A generic widget that produces a message when pressed.
§Example
use iced::widget::button;
#[derive(Clone)]
enum Message {
ButtonPressed,
}
fn view(state: &State) -> Element<'_, Message> {
button("Press me!").on_press(Message::ButtonPressed).into()
}
If a Button::on_press
handler is not set, the resulting Button
will
be disabled:
use iced::widget::button;
#[derive(Clone)]
enum Message {
ButtonPressed,
}
fn view(state: &State) -> Element<'_, Message> {
button("I am disabled!").into()
}
Implementations§
Source§impl<'a, Message, Theme, Renderer> Button<'a, Message, Theme, Renderer>
impl<'a, Message, Theme, Renderer> Button<'a, Message, Theme, Renderer>
Sourcepub fn new(
content: impl Into<Element<'a, Message, Theme, Renderer>>,
) -> Button<'a, Message, Theme, Renderer>
pub fn new( content: impl Into<Element<'a, Message, Theme, Renderer>>, ) -> Button<'a, Message, Theme, Renderer>
Creates a new Button
with the given content.
Sourcepub fn width(
self,
width: impl Into<Length>,
) -> Button<'a, Message, Theme, Renderer>
pub fn width( self, width: impl Into<Length>, ) -> Button<'a, Message, Theme, Renderer>
Sets the width of the Button
.
Sourcepub fn height(
self,
height: impl Into<Length>,
) -> Button<'a, Message, Theme, Renderer>
pub fn height( self, height: impl Into<Length>, ) -> Button<'a, Message, Theme, Renderer>
Sets the height of the Button
.
Sourcepub fn on_press_with(
self,
on_press: impl Fn() -> Message + 'a,
) -> Button<'a, Message, Theme, Renderer>
pub fn on_press_with( self, on_press: impl Fn() -> Message + 'a, ) -> Button<'a, Message, Theme, Renderer>
Sets the message that will be produced when the Button
is pressed.
This is analogous to Button::on_press
, but using a closure to produce
the message.
This closure will only be called when the Button
is actually pressed and,
therefore, this method is useful to reduce overhead if creating the resulting
message is slow.
Sourcepub fn on_press_maybe(
self,
on_press: Option<Message>,
) -> Button<'a, Message, Theme, Renderer>
pub fn on_press_maybe( self, on_press: Option<Message>, ) -> Button<'a, Message, Theme, Renderer>
Sourcepub fn clip(self, clip: bool) -> Button<'a, Message, Theme, Renderer>
pub fn clip(self, clip: bool) -> Button<'a, Message, Theme, Renderer>
Sets whether the contents of the Button
should be clipped on
overflow.
Trait Implementations§
Source§impl<'a, Message, Theme, Renderer> From<Button<'a, Message, Theme, Renderer>> for Element<'a, Message, Theme, Renderer>
impl<'a, Message, Theme, Renderer> From<Button<'a, Message, Theme, Renderer>> for Element<'a, Message, Theme, Renderer>
Source§impl<'a, Message, Theme, Renderer> Widget<Message, Theme, Renderer> for Button<'a, Message, Theme, Renderer>
impl<'a, Message, Theme, Renderer> Widget<Message, Theme, Renderer> for Button<'a, Message, Theme, Renderer>
Source§fn operate(
&self,
tree: &mut Tree,
layout: Layout<'_>,
renderer: &Renderer,
operation: &mut dyn Operation,
)
fn operate( &self, tree: &mut Tree, layout: Layout<'_>, renderer: &Renderer, operation: &mut dyn Operation, )
Source§fn update(
&mut self,
tree: &mut Tree,
event: &Event,
layout: Layout<'_>,
cursor: Cursor,
renderer: &Renderer,
clipboard: &mut dyn Clipboard,
shell: &mut Shell<'_, Message>,
viewport: &Rectangle,
)
fn update( &mut self, tree: &mut Tree, event: &Event, layout: Layout<'_>, cursor: Cursor, renderer: &Renderer, clipboard: &mut dyn Clipboard, shell: &mut Shell<'_, Message>, viewport: &Rectangle, )
Source§fn draw(
&self,
tree: &Tree,
renderer: &mut Renderer,
theme: &Theme,
_style: &Style,
layout: Layout<'_>,
cursor: Cursor,
viewport: &Rectangle,
)
fn draw( &self, tree: &Tree, renderer: &mut Renderer, theme: &Theme, _style: &Style, layout: Layout<'_>, cursor: Cursor, viewport: &Rectangle, )
Draws the
Widget
using the associated Renderer
.Source§fn mouse_interaction(
&self,
_tree: &Tree,
layout: Layout<'_>,
cursor: Cursor,
_viewport: &Rectangle,
_renderer: &Renderer,
) -> Interaction
fn mouse_interaction( &self, _tree: &Tree, layout: Layout<'_>, cursor: Cursor, _viewport: &Rectangle, _renderer: &Renderer, ) -> Interaction
Auto Trait Implementations§
impl<'a, Message, Theme, Renderer> Freeze for Button<'a, Message, Theme, Renderer>
impl<'a, Message, Theme = Theme, Renderer = Renderer<Renderer, Renderer>> !RefUnwindSafe for Button<'a, Message, Theme, Renderer>
impl<'a, Message, Theme = Theme, Renderer = Renderer<Renderer, Renderer>> !Send for Button<'a, Message, Theme, Renderer>
impl<'a, Message, Theme = Theme, Renderer = Renderer<Renderer, Renderer>> !Sync for Button<'a, Message, Theme, Renderer>
impl<'a, Message, Theme, Renderer> Unpin for Button<'a, Message, Theme, Renderer>
impl<'a, Message, Theme = Theme, Renderer = Renderer<Renderer, Renderer>> !UnwindSafe for Button<'a, Message, Theme, Renderer>
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.§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<State, Message> IntoBoot<State, Message> for State
impl<State, Message> IntoBoot<State, Message> for State
Source§fn into_boot(self) -> (State, Task<Message>)
fn into_boot(self) -> (State, Task<Message>)
Turns some type into the initial state of some
Application
.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more