summaryrefslogtreecommitdiffstats
path: root/web/src/widget/column.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--web/src/widget/column.rs48
1 files changed, 48 insertions, 0 deletions
diff --git a/web/src/widget/column.rs b/web/src/widget/column.rs
new file mode 100644
index 00000000..84068ce6
--- /dev/null
+++ b/web/src/widget/column.rs
@@ -0,0 +1,48 @@
+use crate::{Align, Element, Widget};
+
+pub struct Column<'a, Message> {
+ children: Vec<Element<'a, Message>>,
+}
+
+impl<'a, Message> Column<'a, Message> {
+ pub fn new() -> Self {
+ Self {
+ children: Vec::new(),
+ }
+ }
+
+ pub fn spacing(self, _spacing: u16) -> Self {
+ self
+ }
+
+ pub fn padding(self, _padding: u16) -> Self {
+ self
+ }
+
+ pub fn max_width(self, _max_width: u16) -> Self {
+ self
+ }
+
+ pub fn align_items(self, _align: Align) -> Self {
+ self
+ }
+
+ pub fn push<E>(mut self, element: E) -> Self
+ where
+ E: Into<Element<'a, Message>>,
+ {
+ self.children.push(element.into());
+ self
+ }
+}
+
+impl<'a, Message> Widget<Message> for Column<'a, Message> {}
+
+impl<'a, Message> From<Column<'a, Message>> for Element<'a, Message>
+where
+ Message: 'static,
+{
+ fn from(column: Column<'a, Message>) -> Element<'a, Message> {
+ Element::new(column)
+ }
+}