diff options
Diffstat (limited to 'examples/statetracker/src/widgets')
| -rw-r--r-- | examples/statetracker/src/widgets/aliasmanager.rs | 91 | ||||
| -rw-r--r-- | examples/statetracker/src/widgets/bufferview.rs | 105 | ||||
| -rw-r--r-- | examples/statetracker/src/widgets/mod.rs | 5 |
3 files changed, 0 insertions, 201 deletions
diff --git a/examples/statetracker/src/widgets/aliasmanager.rs b/examples/statetracker/src/widgets/aliasmanager.rs deleted file mode 100644 index afa8c91..0000000 --- a/examples/statetracker/src/widgets/aliasmanager.rs +++ /dev/null @@ -1,91 +0,0 @@ -use std::sync::Arc; - -use druid::widget::{Align, Label}; -use druid::{lens, Lens, Point, WidgetPod}; -use druid::{widget::Flex, Widget}; - -use libquassel::message::objects::AliasManager; - -pub struct AliasManagerWidget { - inner: WidgetPod<Arc<AliasManager>, Box<dyn Widget<Arc<AliasManager>>>>, -} - -impl AliasManagerWidget { - pub fn new() -> Self { - let widget = WidgetPod::new(Flex::column()).boxed(); - - AliasManagerWidget { inner: widget } - } -} - -impl Widget<Arc<AliasManager>> for AliasManagerWidget { - fn event( - &mut self, - ctx: &mut druid::EventCtx, - event: &druid::Event, - data: &mut Arc<AliasManager>, - env: &druid::Env, - ) { - self.inner.event(ctx, event, data, env) - } - - fn lifecycle( - &mut self, - ctx: &mut druid::LifeCycleCtx, - event: &druid::LifeCycle, - data: &Arc<AliasManager>, - env: &druid::Env, - ) { - self.inner.lifecycle(ctx, event, data, env) - } - - fn update( - &mut self, - ctx: &mut druid::UpdateCtx, - _old_data: &Arc<AliasManager>, - data: &Arc<AliasManager>, - _env: &druid::Env, - ) { - let aliases = lens!(AliasManager, aliases); - - let mut names: Flex<Arc<AliasManager>> = Flex::column(); - let mut sign: Flex<Arc<AliasManager>> = Flex::column(); - let mut expansions: Flex<Arc<AliasManager>> = Flex::column(); - - // TODO optimise this whole thing - aliases.with(data, |aliases| { - for alias in aliases { - 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<Arc<AliasManager>> = 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(); - ctx.request_layout(); - ctx.request_paint(); - } - - fn layout( - &mut self, - ctx: &mut druid::LayoutCtx, - bc: &druid::BoxConstraints, - data: &Arc<AliasManager>, - env: &druid::Env, - ) -> druid::Size { - let size = self.inner.layout(ctx, bc, data, env); - self.inner.set_origin(ctx, data, env, Point::ZERO); - return size; - } - - fn paint(&mut self, ctx: &mut druid::PaintCtx, data: &Arc<AliasManager>, env: &druid::Env) { - self.inner.paint(ctx, data, env) - } -} diff --git a/examples/statetracker/src/widgets/bufferview.rs b/examples/statetracker/src/widgets/bufferview.rs deleted file mode 100644 index e5384e2..0000000 --- a/examples/statetracker/src/widgets/bufferview.rs +++ /dev/null @@ -1,105 +0,0 @@ -use std::sync::Arc; - -use druid::widget::{Label}; -use druid::{lens, Lens, Point, WidgetPod}; -use druid::{widget::Flex, Widget}; - -use libquassel::message::objects::BufferViewManager; - -pub struct BufferViewWidget { - inner: WidgetPod<Arc<BufferViewManager>, Box<dyn Widget<Arc<BufferViewManager>>>>, -} - -impl BufferViewWidget { - pub fn new() -> Self { - let widget = WidgetPod::new(Flex::column()).boxed(); - - BufferViewWidget { inner: widget } - } -} - -impl Widget<Arc<BufferViewManager>> for BufferViewWidget { - fn event( - &mut self, - ctx: &mut druid::EventCtx, - event: &druid::Event, - data: &mut Arc<BufferViewManager>, - env: &druid::Env, - ) { - self.inner.event(ctx, event, data, env) - } - - fn lifecycle( - &mut self, - ctx: &mut druid::LifeCycleCtx, - event: &druid::LifeCycle, - data: &Arc<BufferViewManager>, - env: &druid::Env, - ) { - self.inner.lifecycle(ctx, event, data, env) - } - - fn update( - &mut self, - ctx: &mut druid::UpdateCtx, - _old_data: &Arc<BufferViewManager>, - data: &Arc<BufferViewManager>, - _env: &druid::Env, - ) { - let buffer_view_configs = lens!(BufferViewManager, buffer_view_configs); - - let mut names: Flex<Arc<BufferViewManager>> = Flex::row(); - let mut buffers: Flex<Arc<BufferViewManager>> = Flex::row(); - let mut removed_buffers: Flex<Arc<BufferViewManager>> = Flex::row(); - let mut temporarily_removed_buffers: Flex<Arc<BufferViewManager>> = Flex::row(); - // let mut expansions: Flex<Arc<BufferViewManager>> = Flex::column(); - - // TODO optimise this whole thing - buffer_view_configs.with(data, |configs| { - for (_id, config) in configs { - names.add_child(Label::new(config.buffer_view_name.clone())); - buffers.add_child(Label::new(format!("{:?}", config.buffers))); - removed_buffers.add_child(Label::new(format!("{:?}", config.removed_buffers))); - temporarily_removed_buffers.add_child(Label::new(format!( - "{:?}", - config.temporarily_removed_buffers - ))); - // expansions.add_child(Align::left(Label::new(alias.expansion.clone()))); - } - }); - - let widget: Flex<Arc<BufferViewManager>> = Flex::column() - .with_flex_child(names, 1.0) - .with_flex_child(buffers, 1.0) - .with_flex_child(removed_buffers, 1.0) - .with_flex_child(temporarily_removed_buffers, 1.0); - // .with_flex_child(expansions, 1.0); - - self.inner = WidgetPod::new(widget).boxed(); - - ctx.children_changed(); - ctx.request_layout(); - ctx.request_paint(); - } - - fn layout( - &mut self, - ctx: &mut druid::LayoutCtx, - bc: &druid::BoxConstraints, - data: &Arc<BufferViewManager>, - env: &druid::Env, - ) -> druid::Size { - let size = self.inner.layout(ctx, bc, data, env); - self.inner.set_origin(ctx, data, env, Point::ZERO); - return size; - } - - fn paint( - &mut self, - ctx: &mut druid::PaintCtx, - data: &Arc<BufferViewManager>, - env: &druid::Env, - ) { - self.inner.paint(ctx, data, env) - } -} diff --git a/examples/statetracker/src/widgets/mod.rs b/examples/statetracker/src/widgets/mod.rs deleted file mode 100644 index c837e5d..0000000 --- a/examples/statetracker/src/widgets/mod.rs +++ /dev/null @@ -1,5 +0,0 @@ -mod aliasmanager; -mod bufferview; - -pub use aliasmanager::*; -pub use bufferview::*; |
