diff --git a/src/calendar.rs b/src/calendar.rs index 97b59f4..efb746f 100644 --- a/src/calendar.rs +++ b/src/calendar.rs @@ -13,7 +13,7 @@ use iced_native::renderer; use iced_native::{Color, Element, Length, Point, Rectangle, Size, Widget}; use iced_native::text; use iced_native::alignment; - +use iced_native::widget::Tree; //------------------------------------------------------------------------- @@ -262,6 +262,7 @@ where fn draw( &self, + _state: &Tree, renderer: &mut Renderer, _theme: &Renderer::Theme, _style: &renderer::Style, diff --git a/src/main.rs b/src/main.rs index ceb0063..98565c9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,11 +4,15 @@ mod calendar; use calendar::{CalendarMonthView, CalendarParams }; use iced::{ - Alignment, Column, Row, - Container, Element, Length, Sandbox, Settings, + Alignment, + Element, Length, Sandbox, Settings, +}; +use iced::widget::{ + Column, Row, + Container, Button, Text, }; -use iced::button; +//use iced::button; use iced::theme; pub fn main() -> iced::Result { @@ -29,28 +33,27 @@ enum Message { #[derive(Default)] struct Controls { - prev_button: button::State, - next_button: button::State, } impl Controls { - fn view(&mut self, month_name: &str) -> Element { + fn view(&self, month_name: &str) -> Element { Row::new() .align_items(Alignment::Center) .padding(5) .spacing(10) .push( - Button::new(&mut self.prev_button, Text::new("<<")) + Button::new(Text::new("<<")) .on_press(Message::PrevMonth) .style(theme::Button::Secondary), ) .push( Text::new(month_name) - .width(Length::Shrink) + .width(Length::Fill) + .horizontal_alignment(iced_native::alignment::Horizontal::Center) .size(50), ) .push( - Button::new(&mut self.next_button, Text::new(">>")) + Button::new(Text::new(">>")) .on_press(Message::NextMonth) .style(theme::Button::Secondary), ) @@ -84,7 +87,7 @@ impl Sandbox for CalendarApp { println!("month={}", self.month); } - fn view(&mut self) -> Element { + fn view(&self) -> Element { const MONTH_NAMES: [&str;12] = [ "January", "February", @@ -96,7 +99,7 @@ impl Sandbox for CalendarApp { "August", "September", "October", - "Novemeber", + "November", "December", ]; let content = Column::new()