diff options
author | 2024-12-03 22:03:06 +0100 | |
---|---|---|
committer | 2024-12-10 04:51:08 +0100 | |
commit | d09d5d45ae4697eef277dfe30756b91c7d802a94 (patch) | |
tree | ce1852b218aa46f5400cee383ccfb68faa61abaf /widget | |
parent | d6182299b9db7a1928b7740736d53196e33d66e3 (diff) | |
download | iced-d09d5d45ae4697eef277dfe30756b91c7d802a94.tar.gz iced-d09d5d45ae4697eef277dfe30756b91c7d802a94.tar.bz2 iced-d09d5d45ae4697eef277dfe30756b91c7d802a94.zip |
Draft `iced_test` crate and test `todos` example
Diffstat (limited to 'widget')
-rw-r--r-- | widget/src/checkbox.rs | 10 | ||||
-rw-r--r-- | widget/src/container.rs | 2 | ||||
-rw-r--r-- | widget/src/scrollable.rs | 2 | ||||
-rw-r--r-- | widget/src/text_editor.rs | 4 | ||||
-rw-r--r-- | widget/src/text_input.rs | 15 |
5 files changed, 26 insertions, 7 deletions
diff --git a/widget/src/checkbox.rs b/widget/src/checkbox.rs index 3686d34c..663bfad1 100644 --- a/widget/src/checkbox.rs +++ b/widget/src/checkbox.rs @@ -445,6 +445,16 @@ where ); } } + + fn operate( + &self, + _state: &mut Tree, + layout: Layout<'_>, + _renderer: &Renderer, + operation: &mut dyn widget::Operation, + ) { + operation.text(None, layout.bounds(), &self.label); + } } impl<'a, Message, Theme, Renderer> From<Checkbox<'a, Message, Theme, Renderer>> diff --git a/widget/src/container.rs b/widget/src/container.rs index d9740f72..a411a7d2 100644 --- a/widget/src/container.rs +++ b/widget/src/container.rs @@ -493,11 +493,11 @@ pub fn visible_bounds(id: Id) -> Task<Option<Rectangle>> { impl Operation<Option<Rectangle>> for VisibleBounds { fn scrollable( &mut self, - _state: &mut dyn widget::operation::Scrollable, _id: Option<&widget::Id>, bounds: Rectangle, _content_bounds: Rectangle, translation: Vector, + _state: &mut dyn widget::operation::Scrollable, ) { match self.scrollables.last() { Some((last_translation, last_viewport, _depth)) => { diff --git a/widget/src/scrollable.rs b/widget/src/scrollable.rs index 41bb15f9..4188f67d 100644 --- a/widget/src/scrollable.rs +++ b/widget/src/scrollable.rs @@ -487,11 +487,11 @@ where state.translation(self.direction, bounds, content_bounds); operation.scrollable( - state, self.id.as_ref().map(|id| &id.0), bounds, content_bounds, translation, + state, ); operation.container( diff --git a/widget/src/text_editor.rs b/widget/src/text_editor.rs index ffd06b77..ad852ce9 100644 --- a/widget/src/text_editor.rs +++ b/widget/src/text_editor.rs @@ -971,13 +971,13 @@ where fn operate( &self, tree: &mut widget::Tree, - _layout: Layout<'_>, + layout: Layout<'_>, _renderer: &Renderer, operation: &mut dyn widget::Operation, ) { let state = tree.state.downcast_mut::<State<Highlighter>>(); - operation.focusable(state, None); + operation.focusable(None, layout.bounds(), state); } } diff --git a/widget/src/text_input.rs b/widget/src/text_input.rs index c3f0b25a..57ebe46a 100644 --- a/widget/src/text_input.rs +++ b/widget/src/text_input.rs @@ -617,14 +617,23 @@ where fn operate( &self, tree: &mut Tree, - _layout: Layout<'_>, + layout: Layout<'_>, _renderer: &Renderer, operation: &mut dyn Operation, ) { let state = tree.state.downcast_mut::<State<Renderer::Paragraph>>(); - operation.focusable(state, self.id.as_ref().map(|id| &id.0)); - operation.text_input(state, self.id.as_ref().map(|id| &id.0)); + operation.focusable( + self.id.as_ref().map(|id| &id.0), + layout.bounds(), + state, + ); + + operation.text_input( + self.id.as_ref().map(|id| &id.0), + layout.bounds(), + state, + ); } fn update( |