[][src]Struct cursive_calendar_view::CalendarView

pub struct CalendarView<T: TimeZone, L: Locale> { /* fields omitted */ }

View for selecting a date, supporting different modes for day, month or year based selection.

View modes can be navigated via Backspace and Enter.

Custom localization is possible by providing an implementation of the Locale trait.

Examples

// Allow selection a date within the year of 2017.
let mut calendar = CalendarView::<Utc, EnglishLocale>::new(Utc::today());

calendar.set_highest_view_mode(ViewMode::Year);
calendar.set_earliest_date(Some(Utc.ymd(2017, 1, 1)));
calendar.set_latest_date(Some(Utc.ymd(2017, 12, 31)));
calendar.set_show_iso_weeks(true);

Methods

impl<T: TimeZone, L: Locale + 'static> CalendarView<T, L>[src]

pub fn new(today: Date<T>) -> Self[src]

Creates new CalendarView.

pub fn disable(&mut self)[src]

Disables this view.

A disabled view cannot be selected.

pub fn enable(&mut self)[src]

Re-enables this view.

pub fn set_enabled(&mut self, enabled: bool)[src]

Enable or disable this view.

pub fn is_enabled(&self) -> bool[src]

Returns true if this view is enabled.

pub fn date(&self) -> Date<T>[src]

Returns the currently selected date of this view.

pub fn set_selected_date(&mut self, date: Date<T>)[src]

Sets the currently selected date of this view.

pub fn selected_date(self, date: Date<T>) -> Self[src]

Sets the currently selected date of this view.

Chainable variant.

pub fn set_view_date(&mut self, date: Date<T>)[src]

Sets the visually selected date of this view.

pub fn view_date(self, date: Date<T>) -> Self[src]

Sets the visually selected date of this view.

Chainable variant.

pub fn set_view_mode(&mut self, mode: ViewMode)[src]

Sets the currently active view mode of this view.

pub fn view_mode(self, mode: ViewMode) -> Self[src]

Sets the currently active view mode of this view.

Chainable variant.

pub fn set_lowest_view_mode(&mut self, mode: ViewMode)[src]

Sets the lowest view mode this calendar can be in.

Can be used conjunction with CalendarView::set_highest_view_mode to limit a CalendarView to only allow selection of days, months or years.

pub fn lowest_view_mode(self, mode: ViewMode) -> Self[src]

Sets the lowest view mode this calendar can be in.

Can be used conjunction with CalendarView::set_highest_view_mode to limit a CalendarView to only allow selection of days, months or years.

Chainable variant.

pub fn set_highest_view_mode(&mut self, mode: ViewMode)[src]

Sets the highest view mode this calendar can be in.

Can be used conjunction with CalendarView::set_lowest_view_mode to limit a CalendarView to only allow selection of days, months or years.

pub fn highest_view_mode(self, mode: ViewMode) -> Self[src]

Sets the highest view mode this calendar can be in.

Can be used conjunction with CalendarView::set_lowest_view_mode to limit a CalendarView to only allow selection of days, months or years.

Chainable variant.

pub fn set_earliest_date(&mut self, date: Option<Date<T>>)[src]

Sets and limits the earliest date selectable by this view.

pub fn earliest_date(self, date: Option<Date<T>>) -> Self[src]

Sets and limits the earliest date selectable by this view.

Chainable variant.

pub fn set_latest_date(&mut self, date: Option<Date<T>>)[src]

Sets and limits the latest date selectable by this view.

pub fn latest_date(self, date: Option<Date<T>>) -> Self[src]

Sets and limits the latest date selectable by this view.

Chainable variant.

pub fn set_week_start(&mut self, day: WeekDay)[src]

Allows to change the default week start day of WeekDay::Monday to any other WeekDay.

pub fn week_start(self, day: WeekDay) -> Self[src]

Allows to change the default week start day of WeekDay::Monday to any other WeekDay.

Chainable variant.

pub fn set_show_iso_weeks(&mut self, show: bool)[src]

Show or hide ISO week numbers in the ViewMode::Month view mode.

ISO week numbers only make sense with a week start day of WeekDay::Monday.

pub fn show_iso_weeks(self, show: bool) -> Self[src]

Show or hide ISO week numbers in the ViewMode::Month view mode.

ISO week numbers only make sense with a week start day of WeekDay::Monday.

Chainable variant.

pub fn set_on_submit<F>(&mut self, cb: F) where
    F: Fn(&mut Cursive, &Date<T>) + 'static, 
[src]

Sets a callback to be used when <Enter> is pressed to select a date.

pub fn on_submit<F>(self, cb: F) -> Self where
    F: Fn(&mut Cursive, &Date<T>) + 'static, 
[src]

Sets a callback to be used when <Enter> is pressed to select a date.

Chainable variant.

pub fn set_on_select<F>(&mut self, cb: F) where
    F: Fn(&mut Cursive, &Date<T>) + 'static, 
[src]

Sets a callback to be used when an a new date is visually selected.

pub fn on_select<F>(self, cb: F) -> Self where
    F: Fn(&mut Cursive, &Date<T>) + 'static, 
[src]

Sets a callback to be used when an a new date is visually selected.

Chainable variant.

Trait Implementations

impl<T: TimeZone + 'static, L: Locale + 'static> View for CalendarView<T, L>[src]

fn layout(&mut self, XY<usize>)[src]

Called once the size for this view has been decided. Read more

fn needs_relayout(&self) -> bool[src]

Should return true if the view content changed since the last call to layout(). Read more

fn call_on_any(
    &mut self,
    &Selector,
    Box<dyn FnMut(&mut (dyn Any + 'static)) + 'a>
)
[src]

Runs a closure on the view identified by the given selector. Read more

fn focus_view(&mut self, &Selector) -> Result<(), ()>[src]

Moves the focus to the view identified by the given selector. Read more

fn important_area(&self, view_size: XY<usize>) -> Rect[src]

What part of the view is important and should be visible? Read more

Auto Trait Implementations

impl<T, L> !Send for CalendarView<T, L>

impl<T, L> !Sync for CalendarView<T, L>

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> View for T where
    T: ViewWrapper
[src]

impl<T> Finder for T where
    T: View
[src]

fn call_on_id<V, F, R>(&mut self, id: &str, callback: F) -> Option<R> where
    F: FnOnce(&mut V) -> R,
    V: View + Any
[src]

Convenient method to use call_on with a view::Selector::Id.

fn find_id<V>(
    &mut self,
    id: &str
) -> Option<OwningHandle<OwningRef<Rc<RefCell<V>>, RefCell<V>>, RefMut<'static, V>>> where
    V: View + Any
[src]

Convenient method to find a view wrapped in an [IdView]. Read more

impl<T> With for T[src]

fn with<F>(self, f: F) -> Self where
    F: FnOnce(&mut Self), 
[src]

Calls the given closure on self.

fn try_with<E, F>(self, f: F) -> Result<Self, E> where
    F: FnOnce(&mut Self) -> Result<(), E>, 
[src]

Calls the given closure on self.

fn with_if<F>(self, condition: bool, f: F) -> Self where
    F: FnOnce(&mut Self), 
[src]

Calls the given closure if condition == true.

impl<T> Scrollable for T where
    T: View
[src]

fn scrollable(self) -> ScrollView<Self>[src]

Wraps self in a ScrollView.

impl<T> Identifiable for T where
    T: View
[src]

fn with_id<S>(self, id: S) -> IdView<Self> where
    S: Into<String>, 
[src]

Wraps this view into an IdView with the given id. Read more

impl<T> Boxable for T where
    T: View
[src]

fn boxed(self, width: SizeConstraint, height: SizeConstraint) -> BoxView<Self>[src]

Wraps self in a BoxView with the given size constraints.

fn fixed_size<S>(self, size: S) -> BoxView<Self> where
    S: Into<XY<usize>>, 
[src]

Wraps self into a fixed-size BoxView.

fn fixed_width(self, width: usize) -> BoxView<Self>[src]

Wraps self into a fixed-width BoxView.

fn fixed_height(self, height: usize) -> BoxView<Self>[src]

Wraps self into a fixed-width BoxView.

fn full_screen(self) -> BoxView<Self>[src]

Wraps self into a full-screen BoxView.

fn full_width(self) -> BoxView<Self>[src]

Wraps self into a full-width BoxView.

fn full_height(self) -> BoxView<Self>[src]

Wraps self into a full-height BoxView.

fn max_size<S>(self, size: S) -> BoxView<Self> where
    S: Into<XY<usize>>, 
[src]

Wraps self into a limited-size BoxView.

fn max_width(self, max_width: usize) -> BoxView<Self>[src]

Wraps self into a limited-width BoxView.

fn max_height(self, max_height: usize) -> BoxView<Self>[src]

Wraps self into a limited-height BoxView.

fn min_size<S>(self, size: S) -> BoxView<Self> where
    S: Into<XY<usize>>, 
[src]

Wraps self into a BoxView at least sized size.

fn min_width(self, min_width: usize) -> BoxView<Self>[src]

Wraps self in a BoxView at least min_width wide.

fn min_height(self, min_height: usize) -> BoxView<Self>[src]

Wraps self in a BoxView at least min_height tall.

impl<T> AnyView for T where
    T: View
[src]

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.

impl<T> IntoBoxedView for T where
    T: View
[src]

impl<T> Erased for T