From e72c83710442ec57410c4a523e003fdd37d3ffd8 Mon Sep 17 00:00:00 2001 From: Max Audron Date: Tue, 28 Sep 2021 17:57:08 +0200 Subject: statetracker: cleanup code --- examples/statetracker/src/aliasmanager.rs | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'examples/statetracker/src/aliasmanager.rs') diff --git a/examples/statetracker/src/aliasmanager.rs b/examples/statetracker/src/aliasmanager.rs index 9247c22..afa8c91 100644 --- a/examples/statetracker/src/aliasmanager.rs +++ b/examples/statetracker/src/aliasmanager.rs @@ -1,6 +1,6 @@ use std::sync::Arc; -use druid::widget::Label; +use druid::widget::{Align, Label}; use druid::{lens, Lens, Point, WidgetPod}; use druid::{widget::Flex, Widget}; @@ -48,18 +48,24 @@ impl Widget> for AliasManagerWidget { ) { let aliases = lens!(AliasManager, aliases); - let mut widget: Flex> = Flex::column(); + let mut names: Flex> = Flex::column(); + let mut sign: Flex> = Flex::column(); + let mut expansions: Flex> = Flex::column(); + // TODO optimise this whole thing aliases.with(data, |aliases| { for alias in aliases { - widget.add_child( - Flex::row() - .with_child(Label::new(alias.name.clone())) - .with_child(Label::new(alias.expansion.clone())), - ) + names.add_child(Align::right(Label::new(alias.name.clone()))); + sign.add_child(Label::new("=>")); + expansions.add_child(Align::left(Label::new(alias.expansion.clone()))); } }); + let widget: Flex> = Flex::row() + .with_flex_child(names, 1.0) + .with_flex_child(sign, 1.0) + .with_flex_child(expansions, 1.0); + self.inner = WidgetPod::new(widget).boxed(); ctx.children_changed(); -- cgit v1.2.3