summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main.rs28
-rw-r--r--src/panes/element_list.rs27
2 files changed, 24 insertions, 31 deletions
diff --git a/src/main.rs b/src/main.rs
index c6812b1..d04183a 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -20,7 +20,7 @@ use config::Config;
use dialog::{Dialog, UnsavedChanges};
use error::Error;
use iced::advanced::widget::Id;
-use iced::widget::{Column, container, pane_grid, pick_list, row, text_editor};
+use iced::widget::{column, container, pane_grid, pick_list, row, text_editor};
use iced::{
Alignment, Length, Subscription, Task, clipboard, keyboard, window,
};
@@ -498,9 +498,8 @@ impl IcedBuilder {
|theme| Message::SwitchTheme(theme.into())
)]
.width(200);
- let pane_grid = pane_grid::PaneGrid::new(
- &self.pane_state,
- |id, pane, _is_maximized| {
+ let pane_grid =
+ pane_grid(&self.pane_state, |id, pane, _is_maximized| {
let is_focused = Some(id) == self.focus;
match pane {
Panes::Designer => match &self.designer_page {
@@ -515,18 +514,15 @@ impl IcedBuilder {
},
Panes::ElementList => element_list::view(is_focused),
}
- },
- )
- .width(Length::Fill)
- .height(Length::Fill)
- .spacing(10)
- .on_resize(10, Message::PaneResized)
- .on_click(Message::PaneClicked)
- .on_drag(Message::PaneDragged);
-
- let base = Column::new()
- .push(header)
- .push(pane_grid)
+ })
+ .width(Length::Fill)
+ .height(Length::Fill)
+ .spacing(10)
+ .on_resize(10, Message::PaneResized)
+ .on_click(Message::PaneClicked)
+ .on_drag(Message::PaneDragged);
+
+ let base = column![header, pane_grid]
.spacing(5)
.align_x(Alignment::Center)
.width(Length::Fill);
diff --git a/src/panes/element_list.rs b/src/panes/element_list.rs
index b18c275..137405e 100644
--- a/src/panes/element_list.rs
+++ b/src/panes/element_list.rs
@@ -1,4 +1,4 @@
-use iced::widget::{Column, column, container, pane_grid, text};
+use iced::widget::{column, container, pane_grid, text};
use iced::{Alignment, Length};
use iced_drop::droppable;
use iced_material::Theme;
@@ -7,20 +7,17 @@ use super::style;
use crate::types::{Element, ElementName, Message};
fn items_list_view<'a>() -> Element<'a, Message> {
- let mut column = Column::new()
- .spacing(20)
- .align_x(Alignment::Center)
- .width(Length::Fill);
-
- for item in ElementName::ALL {
- column = column.push(
- droppable(text(item.clone().to_string()))
- .drag_center(true)
- .on_drop(|point, rect| {
- Message::DropNewElement(item.clone(), point, rect)
- }),
- );
- }
+ let column = column(ElementName::ALL.iter().map(|item| {
+ droppable(text(item.to_string()))
+ .drag_center(true)
+ .on_drop(|point, rect| {
+ Message::DropNewElement(item.clone(), point, rect)
+ })
+ .into()
+ }))
+ .spacing(20)
+ .align_x(Alignment::Center)
+ .width(Length::Fill);
container(column)
.width(Length::Fill)