summaryrefslogtreecommitdiffstats
path: root/widget
diff options
context:
space:
mode:
authorLibravatar Héctor <hector@hecrj.dev>2024-12-17 17:28:46 +0100
committerLibravatar GitHub <noreply@github.com>2024-12-17 17:28:46 +0100
commitf2c9b6b2ffc50d67d9789e77cb55eeb2a0ebe470 (patch)
tree4941905adf134468acc079610bb6f25d7461d543 /widget
parenta687a837653a576cb0599f7bc8ecd9c6054213a9 (diff)
parente5545aaa579f428e45853d125ac86155d8395104 (diff)
downloadiced-f2c9b6b2ffc50d67d9789e77cb55eeb2a0ebe470.tar.gz
iced-f2c9b6b2ffc50d67d9789e77cb55eeb2a0ebe470.tar.bz2
iced-f2c9b6b2ffc50d67d9789e77cb55eeb2a0ebe470.zip
Merge pull request #2698 from iced-rs/feature/test-crate
Headless Mode Testing
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(