summaryrefslogtreecommitdiffstats
path: root/pure/src/widget/tree.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-02-11 23:17:07 +0700
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-02-11 23:17:07 +0700
commitecb3df8e018930c407e469ce2b8f4208a9d15426 (patch)
tree9370945e6c5092e2730ec6835fa6c0556622ca9d /pure/src/widget/tree.rs
parent01c5004959c9b11f2580840f4553ad7d706f4564 (diff)
downloadiced-ecb3df8e018930c407e469ce2b8f4208a9d15426.tar.gz
iced-ecb3df8e018930c407e469ce2b8f4208a9d15426.tar.bz2
iced-ecb3df8e018930c407e469ce2b8f4208a9d15426.zip
Expose reusable `Button` logic
... and reuse it in `iced_pure`!
Diffstat (limited to 'pure/src/widget/tree.rs')
-rw-r--r--pure/src/widget/tree.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/pure/src/widget/tree.rs b/pure/src/widget/tree.rs
index 2353edc5..1ab6d80b 100644
--- a/pure/src/widget/tree.rs
+++ b/pure/src/widget/tree.rs
@@ -58,4 +58,18 @@ impl Tree {
*self = Self::new(new);
}
}
+
+ pub fn state<T>(&self) -> &T
+ where
+ T: 'static,
+ {
+ self.state.downcast_ref().expect("Downcast widget state")
+ }
+
+ pub fn state_mut<T>(&mut self) -> &mut T
+ where
+ T: 'static,
+ {
+ self.state.downcast_mut().expect("Downcast widget state")
+ }
}