[−][src]Struct cursive::views::Dialog
Popup-like view with a main content, and optional buttons under it.
Examples
let dialog = Dialog::around(TextView::new("Hello!")) .button("Ok", |s| s.quit());
Implementations
impl Dialog
[src]
pub fn new() -> Dialog
[src]
Creates a new Dialog
with empty content.
You should probably call content()
next.
pub fn around<V>(view: V) -> Dialog where
V: 'static + View,
[src]
V: 'static + View,
Creates a new Dialog
with the given content.
pub fn content<V>(self, view: V) -> Dialog where
V: 'static + View,
[src]
V: 'static + View,
Sets the content for this dialog.
Chainable variant.
Examples
use cursive_core::views::{Dialog, TextView}; let dialog = Dialog::new() .content(TextView::new("Hello!")) .button("Quit", |s| s.quit());
pub fn get_content(&self) -> &(dyn View + 'static)
[src]
Gets the content of this dialog.
use cursive_core::views::{Dialog, TextView}; let dialog = Dialog::around(TextView::new("Hello!")); let text_view: &TextView = dialog .get_content() .downcast_ref::<TextView>() .unwrap(); assert_eq!(text_view.get_content().source(), "Hello!");
pub fn get_content_mut(&mut self) -> &mut (dyn View + 'static)
[src]
Gets mutable access to the content.
pub fn set_content<V>(&mut self, view: V) where
V: 'static + View,
[src]
V: 'static + View,
Sets the content for this dialog.
Previous content will be dropped.
pub fn text<S>(text: S) -> Dialog where
S: Into<SpannedString<Style>>,
[src]
S: Into<SpannedString<Style>>,
Convenient method to create a dialog with a simple text content.
Examples
use cursive_core::views::Dialog; let dialog = Dialog::text("Hello!") .button("Quit", |s| s.quit());
pub fn info<S>(text: S) -> Dialog where
S: Into<SpannedString<Style>>,
[src]
S: Into<SpannedString<Style>>,
Convenient method to create an infobox.
It will contain the given text and a Ok
dismiss button.
Examples
use cursive_core::views::Dialog; let dialog = Dialog::info("Some very important information!");
pub fn button<F, S>(self, label: S, cb: F) -> Dialog where
F: 'static + Fn(&mut Cursive),
S: Into<String>,
[src]
F: 'static + Fn(&mut Cursive),
S: Into<String>,
Adds a button to the dialog with the given label and callback.
Consumes and returns self for easy chaining.
pub fn add_button<F, S>(&mut self, label: S, cb: F) where
F: 'static + Fn(&mut Cursive),
S: Into<String>,
[src]
F: 'static + Fn(&mut Cursive),
S: Into<String>,
Adds a button to the dialog with the given label and callback.
pub fn buttons_len(&self) -> usize
[src]
Returns the number of buttons on this dialog.
pub fn clear_buttons(&mut self)
[src]
Removes any button from self
.
pub fn remove_button(&mut self, i: usize)
[src]
pub fn h_align(self, h: HAlign) -> Dialog
[src]
Sets the horizontal alignment for the buttons, if any.
Only works if the buttons are as a row at the bottom of the dialog.
pub fn dismiss_button<S>(self, label: S) -> Dialog where
S: Into<String>,
[src]
S: Into<String>,
Shortcut method to add a button that will dismiss the dialog.
Examples
use cursive_core::views::Dialog; let dialog = Dialog::text("Hello!") .dismiss_button("Close");
pub fn title<S>(self, label: S) -> Dialog where
S: Into<String>,
[src]
S: Into<String>,
Sets the title of the dialog.
If not empty, it will be visible at the top.
Examples
use cursive_core::views::Dialog; let dialog = Dialog::info("Some info") .title("Read me!");
pub fn set_title<S>(&mut self, label: S) where
S: Into<String>,
[src]
S: Into<String>,
Sets the title of the dialog.
pub fn title_position(self, align: HAlign) -> Dialog
[src]
Sets the horizontal position of the title in the dialog.
The default position is HAlign::Center
pub fn set_title_position(&mut self, align: HAlign)
[src]
Sets the horizontal position of the title in the dialog.
The default position is HAlign::Center
pub fn padding(self, padding: Margins) -> Dialog
[src]
Sets the padding in the dialog (around content and buttons).
Examples
use cursive_core::views::Dialog; use cursive_core::view::Margins; let dialog = Dialog::info("Hello!") .padding(Margins::lrtb(1, 1, 0, 0)); // (Left, Right, Top, Bottom)
pub fn padding_lrtb(
self,
left: usize,
right: usize,
top: usize,
bottom: usize
) -> Dialog
[src]
self,
left: usize,
right: usize,
top: usize,
bottom: usize
) -> Dialog
Sets the padding in the dialog.
Takes Left, Right, Top, Bottom fields.
pub fn set_padding(&mut self, padding: Margins)
[src]
Sets the padding in the dialog (around content and buttons).
Chainable variant.
pub fn padding_top(self, padding: usize) -> Dialog
[src]
Sets the top padding in the dialog (under the title).
pub fn set_padding_top(&mut self, padding: usize)
[src]
Sets the top padding in the dialog (under the title).
pub fn padding_bottom(self, padding: usize) -> Dialog
[src]
Sets the bottom padding in the dialog (under buttons).
pub fn set_padding_bottom(&mut self, padding: usize)
[src]
Sets the bottom padding in the dialog (under buttons).
pub fn padding_left(self, padding: usize) -> Dialog
[src]
Sets the left padding in the dialog.
pub fn set_padding_left(&mut self, padding: usize)
[src]
Sets the left padding in the dialog.
pub fn padding_right(self, padding: usize) -> Dialog
[src]
Sets the right padding in the dialog.
pub fn set_padding_right(&mut self, padding: usize)
[src]
Sets the right padding in the dialog.
pub fn buttons_mut(&mut self) -> impl Iterator<Item = &mut Button>
[src]
Returns an iterator on this buttons for this dialog.
pub fn focus(&self) -> DialogFocus
[src]
Returns currently focused element
Trait Implementations
impl Default for Dialog
[src]
impl View for Dialog
[src]
fn draw(&self, printer: &Printer)
[src]
fn required_size(&mut self, req: XY<usize>) -> XY<usize>
[src]
fn layout(&mut self, size: XY<usize>)
[src]
fn on_event(&mut self, event: Event) -> EventResult
[src]
fn take_focus(&mut self, source: Direction) -> bool
[src]
fn call_on_any(
&mut self,
selector: &Selector,
callback: &'a mut (dyn FnMut(&mut (dyn View + 'static)) + 'a)
)
[src]
&mut self,
selector: &Selector,
callback: &'a mut (dyn FnMut(&mut (dyn View + 'static)) + 'a)
)
fn focus_view(&mut self, selector: &Selector) -> Result<(), ()>
[src]
fn important_area(&self, XY<usize>) -> Rect
[src]
fn needs_relayout(&self) -> bool
[src]
fn type_name(&self) -> &'static str
[src]
Auto Trait Implementations
impl !RefUnwindSafe for Dialog
impl !Send for Dialog
impl !Sync for Dialog
impl Unpin for Dialog
impl !UnwindSafe for Dialog
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> AnyView for T where
T: View,
[src]
T: View,
fn as_any(&self) -> &(dyn Any + 'static)
[src]
Downcast self to a Any
.
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
Downcast self to a mutable Any
.
fn as_boxed_any(self: Box<T>) -> Box<dyn Any + 'static>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Erased for T
impl<T> Finder for T where
T: View,
[src]
T: View,
fn call_on<V, F, R>(&mut self, sel: &Selector, callback: F) -> Option<R> where
F: FnOnce(&mut V) -> R,
V: View,
[src]
F: FnOnce(&mut V) -> R,
V: View,
fn call_on_name<V, F, R>(&mut self, name: &str, callback: F) -> Option<R> where
F: FnOnce(&mut V) -> R,
V: View,
[src]
F: FnOnce(&mut V) -> R,
V: View,
fn call_on_id<V, F, R>(&mut self, id: &str, callback: F) -> Option<R> where
F: FnOnce(&mut V) -> R,
V: View,
[src]
F: FnOnce(&mut V) -> R,
V: View,
fn find_name<V>(
&mut self,
name: &str
) -> Option<OwningHandle<OwningRef<Rc<RefCell<V>>, RefCell<V>>, RefMut<'static, V>>> where
V: View,
[src]
&mut self,
name: &str
) -> Option<OwningHandle<OwningRef<Rc<RefCell<V>>, RefCell<V>>, RefMut<'static, V>>> where
V: View,
fn find_id<V>(
&mut self,
id: &str
) -> Option<OwningHandle<OwningRef<Rc<RefCell<V>>, RefCell<V>>, RefMut<'static, V>>> where
V: View,
[src]
&mut self,
id: &str
) -> Option<OwningHandle<OwningRef<Rc<RefCell<V>>, RefCell<V>>, RefMut<'static, V>>> where
V: View,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IntoBoxedView for T where
T: View,
[src]
T: View,
fn as_boxed_view(self) -> Box<dyn View + 'static>
[src]
impl<T> Nameable for T where
T: View,
[src]
T: View,
fn with_name<S>(self, name: S) -> NamedView<Self> where
S: Into<String>,
[src]
S: Into<String>,
fn with_id<S>(self, id: S) -> NamedView<Self> where
S: Into<String>,
[src]
S: Into<String>,
impl<T> Resizable for T where
T: View,
[src]
T: View,
fn boxed(
self,
width: SizeConstraint,
height: SizeConstraint
) -> ResizedView<Self>
[src]
self,
width: SizeConstraint,
height: SizeConstraint
) -> ResizedView<Self>
fn resized(
self,
width: SizeConstraint,
height: SizeConstraint
) -> ResizedView<Self>
[src]
self,
width: SizeConstraint,
height: SizeConstraint
) -> ResizedView<Self>
fn fixed_size<S>(self, size: S) -> ResizedView<Self> where
S: Into<XY<usize>>,
[src]
S: Into<XY<usize>>,
fn fixed_width(self, width: usize) -> ResizedView<Self>
[src]
fn fixed_height(self, height: usize) -> ResizedView<Self>
[src]
fn full_screen(self) -> ResizedView<Self>
[src]
fn full_width(self) -> ResizedView<Self>
[src]
fn full_height(self) -> ResizedView<Self>
[src]
fn max_size<S>(self, size: S) -> ResizedView<Self> where
S: Into<XY<usize>>,
[src]
S: Into<XY<usize>>,
fn max_width(self, max_width: usize) -> ResizedView<Self>
[src]
fn max_height(self, max_height: usize) -> ResizedView<Self>
[src]
fn min_size<S>(self, size: S) -> ResizedView<Self> where
S: Into<XY<usize>>,
[src]
S: Into<XY<usize>>,
fn min_width(self, min_width: usize) -> ResizedView<Self>
[src]
fn min_height(self, min_height: usize) -> ResizedView<Self>
[src]
impl<T> Scrollable for T where
T: View,
[src]
T: View,
fn scrollable(self) -> ScrollView<Self>
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> View for T where
T: ViewWrapper,
[src]
T: ViewWrapper,
fn draw(&self, printer: &Printer)
[src]
fn required_size(&mut self, req: XY<usize>) -> XY<usize>
[src]
fn on_event(&mut self, ch: Event) -> EventResult
[src]
fn layout(&mut self, size: XY<usize>)
[src]
fn take_focus(&mut self, source: Direction) -> bool
[src]
fn call_on_any(
&mut self,
selector: &Selector,
callback: &'a mut (dyn FnMut(&mut (dyn View + 'static)) + 'a)
)
[src]
&mut self,
selector: &Selector,
callback: &'a mut (dyn FnMut(&mut (dyn View + 'static)) + 'a)
)