summaryrefslogtreecommitdiffstats
path: root/native/src/widget/tree.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-07-27 06:49:20 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-07-27 06:49:20 +0200
commitff2519b1d43d481987351a83b6dd7237524c21f0 (patch)
tree5731eeb7eb1247d4a8951de0d5bc5d8102640559 /native/src/widget/tree.rs
parentc44267b85f7aaa2997e3caf1323b837d95818c22 (diff)
downloadiced-ff2519b1d43d481987351a83b6dd7237524c21f0.tar.gz
iced-ff2519b1d43d481987351a83b6dd7237524c21f0.tar.bz2
iced-ff2519b1d43d481987351a83b6dd7237524c21f0.zip
Replace stateful widgets with new `iced_pure` API
Diffstat (limited to '')
-rw-r--r--native/src/widget/tree.rs (renamed from pure/src/widget/tree.rs)17
1 files changed, 14 insertions, 3 deletions
diff --git a/pure/src/widget/tree.rs b/native/src/widget/tree.rs
index 2f876523..a8b1a185 100644
--- a/pure/src/widget/tree.rs
+++ b/native/src/widget/tree.rs
@@ -3,10 +3,12 @@ use crate::Widget;
use std::any::{self, Any};
use std::borrow::Borrow;
+use std::fmt;
/// A persistent state widget tree.
///
/// A [`Tree`] is normally associated with a specific widget in the widget tree.
+#[derive(Debug)]
pub struct Tree {
/// The tag of the [`Tree`].
pub tag: Tag,
@@ -33,7 +35,7 @@ impl Tree {
widget: impl Borrow<dyn Widget<Message, Renderer> + 'a>,
) -> Self
where
- Renderer: iced_native::Renderer,
+ Renderer: crate::Renderer,
{
let widget = widget.borrow();
@@ -56,7 +58,7 @@ impl Tree {
&mut self,
new: impl Borrow<dyn Widget<Message, Renderer> + 'a>,
) where
- Renderer: iced_native::Renderer,
+ Renderer: crate::Renderer,
{
if self.tag == new.borrow().tag() {
new.borrow().diff(self)
@@ -70,7 +72,7 @@ impl Tree {
&mut self,
new_children: &[impl Borrow<dyn Widget<Message, Renderer> + 'a>],
) where
- Renderer: iced_native::Renderer,
+ Renderer: crate::Renderer,
{
self.diff_children_custom(
new_children,
@@ -174,3 +176,12 @@ impl State {
}
}
}
+
+impl fmt::Debug for State {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ match self {
+ Self::None => write!(f, "State::None"),
+ Self::Some(_) => write!(f, "State::Some"),
+ }
+ }
+}