summaryrefslogtreecommitdiffstats
path: root/widget
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-12-03 22:03:06 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-12-10 04:51:08 +0100
commitd09d5d45ae4697eef277dfe30756b91c7d802a94 (patch)
treece1852b218aa46f5400cee383ccfb68faa61abaf /widget
parentd6182299b9db7a1928b7740736d53196e33d66e3 (diff)
downloadiced-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.rs10
-rw-r--r--widget/src/container.rs2
-rw-r--r--widget/src/scrollable.rs2
-rw-r--r--widget/src/text_editor.rs4
-rw-r--r--widget/src/text_input.rs15
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(