Skip to content

Commit c17fb35

Browse files
best effort update for date picker to iced 0.14
1 parent 30f71c6 commit c17fb35

4 files changed

Lines changed: 148 additions & 132 deletions

File tree

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ categories = ["gui"]
1616
rust-version = "1.80"
1717

1818
[features]
19-
default = ["card"]
19+
default = ["date_picker"]
2020

2121
badge = []
2222
card = []

examples/date_picker.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@ use iced::{
66
widget::{Button, Container, Row, Text},
77
Alignment, Element, Length,
88
};
9+
use iced_aw::ICED_AW_FONT_BYTES;
910
use iced_aw::{date_picker::Date, helpers::date_picker};
1011

1112
fn main() -> iced::Result {
1213
iced::application(
13-
"DatePicker example",
14+
DatePickerExample::default,
1415
DatePickerExample::update,
1516
DatePickerExample::view,
1617
)
17-
.font(iced_fonts::REQUIRED_FONT_BYTES)
18+
.font(ICED_AW_FONT_BYTES)
1819
.run()
1920
}
2021

src/widget/date_picker.rs

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ use iced::{
1616
},
1717
Clipboard, Layout, Shell, Widget,
1818
},
19-
event,
2019
mouse::{self, Cursor},
2120
Element,
2221
Event,
@@ -219,18 +218,18 @@ where
219218
.layout(&mut tree.children[0], renderer, limits)
220219
}
221220

222-
fn on_event(
221+
fn update(
223222
&mut self,
224223
state: &mut Tree,
225-
event: Event,
224+
event: &Event,
226225
layout: Layout<'_>,
227226
cursor: Cursor,
228227
renderer: &Renderer,
229228
clipboard: &mut dyn Clipboard,
230-
shell: &mut Shell<'_, Message>,
229+
shell: &mut Shell<Message>,
231230
viewport: &Rectangle,
232-
) -> event::Status {
233-
self.underlay.as_widget_mut().on_event(
231+
) {
232+
self.underlay.as_widget_mut().update(
234233
&mut state.children[0],
235234
event,
236235
layout,
@@ -239,7 +238,7 @@ where
239238
clipboard,
240239
shell,
241240
viewport,
242-
)
241+
);
243242
}
244243

245244
fn mouse_interaction(
@@ -282,18 +281,20 @@ where
282281

283282
fn overlay<'b>(
284283
&'b mut self,
285-
state: &'b mut Tree,
286-
layout: Layout<'_>,
284+
tree: &'b mut Tree,
285+
layout: Layout<'b>,
287286
renderer: &Renderer,
287+
viewport: &Rectangle,
288288
translation: Vector,
289289
) -> Option<iced::overlay::Element<'b, Message, Theme, Renderer>> {
290-
let picker_state: &mut State = state.state.downcast_mut();
290+
let picker_state: &mut State = tree.state.downcast_mut();
291291

292292
if !self.show_picker {
293293
return self.underlay.as_widget_mut().overlay(
294-
&mut state.children[0],
294+
&mut tree.children[0],
295295
layout,
296296
renderer,
297+
viewport,
297298
translation,
298299
);
299300
}
@@ -308,8 +309,9 @@ where
308309
&self.on_submit,
309310
position,
310311
&self.class,
311-
&mut state.children[1],
312+
&mut tree.children[1],
312313
self.font_size.unwrap_or_else(|| renderer.default_size()),
314+
*viewport,
313315
)
314316
.overlay(),
315317
)

0 commit comments

Comments
 (0)