Struct cursive_core::views::Button
source · pub struct Button { /* private fields */ }
Expand description
Simple text label with a callback when
A button shows its content in a single line and has a fixed size.
Examples
use cursive_core::views::Button;
let quit_button = Button::new("Quit", |s| s.quit());
Implementations§
source§impl Button
impl Button
sourcepub fn set_enabled(&mut self, enabled: bool)
pub fn set_enabled(&mut self, enabled: bool)
Enable or disable this view.
sourcepub fn with_enabled(self, is_enabled: bool) -> Self
pub fn with_enabled(self, is_enabled: bool) -> Self
Enable or disable this view.
Chainable variant.
sourcepub fn is_enabled(&self) -> bool
pub fn is_enabled(&self) -> bool
Returns true
if this view is enabled.
sourcepub fn new<F, S>(label: S, cb: F) -> Selfwhere
F: 'static + Fn(&mut Cursive),
S: Into<String>,
pub fn new<F, S>(label: S, cb: F) -> Selfwhere
F: 'static + Fn(&mut Cursive),
S: Into<String>,
Creates a new button with the given content and callback.
sourcepub fn new_raw<F, S: Into<String>>(label: S, cb: F) -> Selfwhere
F: 'static + Fn(&mut Cursive),
pub fn new_raw<F, S: Into<String>>(label: S, cb: F) -> Selfwhere
F: 'static + Fn(&mut Cursive),
Creates a new button without angle brackets.
Examples
use cursive_core::views::Button;
let button = Button::new_raw("[ Quit ]", |s| s.quit());
sourcepub fn set_callback<F>(&mut self, cb: F)where
F: Fn(&mut Cursive) + 'static,
pub fn set_callback<F>(&mut self, cb: F)where
F: Fn(&mut Cursive) + 'static,
Sets the function to be called when the button is pressed.
Replaces the previous callback.
sourcepub fn label(&self) -> &str
pub fn label(&self) -> &str
Returns the label for this button.
Includes brackets.
Examples
let button = Button::new("Quit", |s| s.quit());
assert_eq!(button.label(), "<Quit>");
sourcepub fn set_label<S>(&mut self, label: S)where
S: Into<String>,
pub fn set_label<S>(&mut self, label: S)where
S: Into<String>,
Sets the label to the given value.
This will include brackets.
Examples
use cursive_core::views::Button;
let mut button = Button::new("Quit", |s| s.quit());
button.set_label("Escape");
sourcepub fn set_label_raw<S>(&mut self, label: S)where
S: Into<String>,
pub fn set_label_raw<S>(&mut self, label: S)where
S: Into<String>,
Sets the label exactly to the given value.
This will not include brackets.
Trait Implementations§
source§impl View for Button
impl View for Button
source§fn draw(&self, printer: &Printer<'_, '_>)
fn draw(&self, printer: &Printer<'_, '_>)
Draws the view with the given printer (includes bounds) and focus. Read more
source§fn layout(&mut self, size: Vec2)
fn layout(&mut self, size: Vec2)
Called once the size for this view has been decided. Read more
source§fn required_size(&mut self, _: Vec2) -> Vec2
fn required_size(&mut self, _: Vec2) -> Vec2
Returns the minimum size the view requires with the given restrictions. Read more
source§fn on_event(&mut self, event: Event) -> EventResult
fn on_event(&mut self, event: Event) -> EventResult
Called when an event is received (key press, mouse event, …). Read more
source§fn take_focus(&mut self, _: Direction) -> Result<EventResult, CannotFocus>
fn take_focus(&mut self, _: Direction) -> Result<EventResult, CannotFocus>
Attempt to give this view the focus. Read more
source§fn important_area(&self, view_size: Vec2) -> Rect
fn important_area(&self, view_size: Vec2) -> Rect
What part of the view is important and should be visible? Read more
source§fn needs_relayout(&self) -> bool
fn needs_relayout(&self) -> bool
source§fn call_on_any<'a>(&mut self, _: &Selector<'_>, _: AnyCb<'a>)
fn call_on_any<'a>(&mut self, _: &Selector<'_>, _: AnyCb<'a>)
Runs a closure on the view identified by the given selector. Read more
source§fn focus_view(&mut self, _: &Selector<'_>) -> Result<EventResult, ViewNotFound>
fn focus_view(&mut self, _: &Selector<'_>) -> Result<EventResult, ViewNotFound>
Moves the focus to the view identified by the given selector. Read more