Skip to main content

DatePicker

Struct DatePicker 

Source
pub struct DatePicker<Msg> { /* private fields */ }
Expand description

A field showing a chosen date that opens a calendar to choose another.

Closed: Enter, Space, ↓ or a click opens it. Open: ←/→ move a day, ↑/↓ a week, PgUp/PgDn a month, Shift+PgUp/PgDn a year, Home/End go to the ends of the week, Enter or Space chooses, Esc or a click elsewhere closes; that click still reaches what it landed on, and a click on the field while open only closes it. The arrows beside the title and the mouse wheel change the month (each arrow is three cells that light up under the pointer). One day is highlighted: the keyboard moves it and so does the pointer once it moves. Whatever the pointer is over, the field, an arrow or a day, shows the pillar in its leftmost cell, a column that is always blank, so nothing in the date picker slides whatever Env::slide says. The highlighted day’s pillar breathes only while the keyboard moved it last. Month and weekday names and the field format come from the quvyta.date locale keys, and the first day of the week from I18n::first_weekday: the region’s when one is known, the language’s otherwise. A field too narrow for the long date (format) shows the short one (format-short, with month-short-*), Sep 18, 2026, and a narrower one the day and month alone (format-day-month), Sep 18, instead of cutting it.

The field uses the select styles. The calendar uses calendar (bg, padding), calendar-title, calendar-arrow with hover (bg over its three cells, pillar), calendar-weekday, and calendar-day with hover (the highlighted day, pillar), focus (added to hover while the keyboard moved the highlight), selected, variants outside and today.

Implementations§

Source§

impl<Msg: 'static> DatePicker<Msg>

Source

pub fn new(value: Option<Date>) -> Self

A date picker showing value.

Source

pub fn placeholder(self, text: impl Into<String>) -> Self

Faint text shown while no date is chosen.

Source

pub fn today(self, today: Date) -> Self

The day marked as today; by default Date::today_local, the day on the machine’s own clock and time zone, so the mark does not jump a day early or late around midnight.

Source

pub fn disabled(self, disabled: bool) -> Self

Greys the field out; it cannot be opened.

Source

pub fn on_change(self, message: impl Fn(Date) -> Msg + 'static) -> Self

Message for choosing a different date.

Trait Implementations§

Source§

impl<Msg: 'static> Widget<Msg> for DatePicker<Msg>

Source§

fn measure(&self, cx: &mut MeasureCx<'_>, available: Size) -> Size

The size the widget wants when it may use up to available.
Source§

fn paint(&self, cx: &mut PaintCx<'_>, area: Rect)

Draws the widget into area.
Source§

fn paint_overlay(&self, cx: &mut PaintCx<'_>, anchor: Rect)

Draws the widget’s overlay after the whole view was painted, when it asked for one with PaintCx::request_overlay. anchor is the area the widget was painted in.
Source§

fn event(&self, cx: &mut EventCx<'_, Msg>, event: &Event) -> bool

Handles input. Returns true when the event was used; unused key and scroll events bubble to the parent widget.
Source§

fn focusable(&self) -> bool

Whether the widget can take keyboard focus.
Source§

fn children(&self) -> &[Node<Msg>]

Child nodes, for widgets that contain other widgets.
Source§

fn children_mut(&mut self) -> &mut [Node<Msg>]

Mutable child nodes, used to assign ids.

Auto Trait Implementations§

§

impl<Msg> !RefUnwindSafe for DatePicker<Msg>

§

impl<Msg> !Send for DatePicker<Msg>

§

impl<Msg> !Sync for DatePicker<Msg>

§

impl<Msg> !UnwindSafe for DatePicker<Msg>

§

impl<Msg> Freeze for DatePicker<Msg>
where Option<Box<dyn Fn(Date) -> Msg>>: Freeze,

§

impl<Msg> Unpin for DatePicker<Msg>
where Option<Box<dyn Fn(Date) -> Msg>>: Unpin,

§

impl<Msg> UnsafeUnpin for DatePicker<Msg>
where Option<Box<dyn Fn(Date) -> Msg>>: UnsafeUnpin,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.