summaryrefslogtreecommitdiffstats
path: root/src/tuice/component/properties.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tuice/component/properties.rs')
-rw-r--r--src/tuice/component/properties.rs19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/tuice/component/properties.rs b/src/tuice/component/properties.rs
index d44ab368..5b6d6fc1 100644
--- a/src/tuice/component/properties.rs
+++ b/src/tuice/component/properties.rs
@@ -1,3 +1,20 @@
+use enum_dispatch::enum_dispatch;
+
+use crate::tuice::*;
+
/// A trait that the properties of a [`Component`](super::Component)
/// should implement.
-pub trait Properties: PartialEq {}
+#[enum_dispatch]
+pub trait Properties: PartialEq + Clone {}
+
+#[derive(PartialEq, Clone, Debug)]
+pub struct DefaultProp;
+
+impl Properties for DefaultProp {}
+
+#[enum_dispatch(Properties)]
+#[derive(PartialEq, Clone)]
+pub enum Props {
+ DefaultProp,
+ TextTableProps,
+}