summaryrefslogtreecommitdiff
path: root/schist_desktop_gui/src/traits
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2025-08-13 07:50:21 +0000
committerjoeac <me@joeac.net>2025-08-13 07:50:21 +0000
commitee3cd780e21260257b401c3f5cbababd9e27a15a (patch)
treeb0571649a1a1a7644dbc50183cc4c3a29966a963 /schist_desktop_gui/src/traits
parent49342e8b553d5c92f1c043b3b0ce18bdf1c2cd44 (diff)
task-073
Co-authored-by: Joe Carstairs <jcarstairs@scottlogic.com> Reviewed-on: https://git.joeac.net/joeac/schist/pulls/1 Co-authored-by: Joe Carstairs <me@joeac.net> Co-committed-by: Joe Carstairs <me@joeac.net>
Diffstat (limited to 'schist_desktop_gui/src/traits')
-rw-r--r--schist_desktop_gui/src/traits/component.rs5
-rw-r--r--schist_desktop_gui/src/traits/viewable.rs3
2 files changed, 8 insertions, 0 deletions
diff --git a/schist_desktop_gui/src/traits/component.rs b/schist_desktop_gui/src/traits/component.rs
new file mode 100644
index 0000000..cece636
--- /dev/null
+++ b/schist_desktop_gui/src/traits/component.rs
@@ -0,0 +1,5 @@
+use crate::traits::Viewable;
+
+pub trait Component<'a, Message, Action>: Viewable<'a, Message> {
+ fn update(&mut self, message: Message) -> Action;
+}
diff --git a/schist_desktop_gui/src/traits/viewable.rs b/schist_desktop_gui/src/traits/viewable.rs
new file mode 100644
index 0000000..e0f0eb7
--- /dev/null
+++ b/schist_desktop_gui/src/traits/viewable.rs
@@ -0,0 +1,3 @@
+pub trait Viewable<'a, Message> {
+ fn view(&'a self) -> iced::Element<'a, Message>;
+}