summaryrefslogtreecommitdiff
path: root/iced_builder/src/panes
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--iced_builder/src/panes.rs (renamed from iced_builder/src/views/mod.rs)0
-rw-r--r--iced_builder/src/panes/code_view.rs (renamed from iced_builder/src/views/code_view.rs)25
-rw-r--r--iced_builder/src/panes/designer_view.rs (renamed from iced_builder/src/views/designer_view.rs)19
-rw-r--r--iced_builder/src/panes/element_list.rs (renamed from iced_builder/src/views/element_list.rs)25
-rw-r--r--iced_builder/src/panes/style.rs (renamed from iced_builder/src/views/style.rs)0
5 files changed, 33 insertions, 36 deletions
diff --git a/iced_builder/src/views/mod.rs b/iced_builder/src/panes.rs
index 387662a..387662a 100644
--- a/iced_builder/src/views/mod.rs
+++ b/iced_builder/src/panes.rs
diff --git a/iced_builder/src/views/code_view.rs b/iced_builder/src/panes/code_view.rs
index 4515687..fe7801c 100644
--- a/iced_builder/src/views/code_view.rs
+++ b/iced_builder/src/panes/code_view.rs
@@ -1,27 +1,26 @@
+use iced::widget::{button, pane_grid, row, text, text_editor, Space};
+use iced::{Alignment, Length, Theme};
use super::style;
-use crate::{types::DesignerPage, Message};
-use iced::{
- highlighter,
- widget::{button, container, pane_grid, row, text, text_editor, tooltip, Space},
- Alignment, Font, Length,
-};
+use crate::icon::copy;
+use crate::types::{DesignerPage, Message};
+use crate::widget::tip;
pub fn view<'a>(
editor_content: &'a text_editor::Content,
- dark_theme: bool,
+ theme: Theme,
is_focused: bool,
) -> pane_grid::Content<'a, Message> {
let title = row![
text("Generated Code"),
Space::with_width(Length::Fill),
- tooltip(
- button(container(text('\u{0e801}').font(Font::with_name("editor-icons"))).center_x(30))
- .on_press(Message::CopyCode),
+ tip(
+ button(copy()).on_press(Message::CopyCode),
"Copy code to clipboard",
- tooltip::Position::FollowCursor
+ tip::Position::FollowCursor
),
Space::with_width(20),
- button("Switch to Designer view").on_press(Message::SwitchPage(DesignerPage::Designer))
+ button("Switch to Designer view")
+ .on_press(Message::SwitchPage(DesignerPage::DesignerView))
]
.align_y(Alignment::Center);
let title_bar = pane_grid::TitleBar::new(title)
@@ -32,7 +31,7 @@ pub fn view<'a>(
.on_action(Message::EditorAction)
.highlight(
"rs",
- if dark_theme {
+ if theme.to_string().contains("Dark") {
highlighter::Theme::SolarizedDark
} else {
highlighter::Theme::InspiredGitHub
diff --git a/iced_builder/src/views/designer_view.rs b/iced_builder/src/panes/designer_view.rs
index 6f31a51..76456db 100644
--- a/iced_builder/src/views/designer_view.rs
+++ b/iced_builder/src/panes/designer_view.rs
@@ -1,20 +1,16 @@
+use iced::widget::{button, container, pane_grid, row, text, themer, Space};
+use iced::{Alignment, Element, Length};
+
use super::style;
-use crate::{
- types::{rendered_element::RenderedElement, DesignerPage},
- Message,
-};
-use iced::{
- widget::{button, container, pane_grid, row, text, themer, Space},
- Alignment, Length,
-};
+use crate::types::{DesignerPage, Message, RenderedElement};
pub fn view<'a>(
element_tree: &Option<RenderedElement>,
designer_theme: iced::Theme,
is_focused: bool,
) -> pane_grid::Content<'a, Message> {
- let el_tree = match element_tree {
- Some(tree) => tree.clone().as_element(),
+ let el_tree: Element<'a, Message> = match element_tree {
+ Some(tree) => tree.clone().into(),
None => text("Open a project or begin creating one").into(),
};
let content = container(themer(designer_theme, el_tree))
@@ -24,7 +20,8 @@ pub fn view<'a>(
let title = row![
text("Designer"),
Space::with_width(Length::Fill),
- button("Switch to Code view").on_press(Message::SwitchPage(DesignerPage::CodeView)),
+ button("Switch to Code view")
+ .on_press(Message::SwitchPage(DesignerPage::CodeView)),
]
.align_y(Alignment::Center);
let title_bar = pane_grid::TitleBar::new(title)
diff --git a/iced_builder/src/views/element_list.rs b/iced_builder/src/panes/element_list.rs
index f0fdd2f..74188af 100644
--- a/iced_builder/src/views/element_list.rs
+++ b/iced_builder/src/panes/element_list.rs
@@ -1,22 +1,23 @@
-use super::style;
-use crate::{types::element_name::ElementName, Message};
-use iced::{
- widget::{column, container, pane_grid, text, Column},
- Alignment, Element, Length,
-};
+use iced::widget::{column, container, pane_grid, text, Column};
+use iced::{Alignment, Element, Length};
use iced_drop::droppable;
-fn items_list_view<'a>(items: &'a Vec<ElementName>) -> Element<'a, Message> {
+use super::style;
+use crate::types::{ElementName, Message};
+
+fn items_list_view<'a>(items: &'a [ElementName]) -> Element<'a, Message> {
let mut column = Column::new()
.spacing(20)
.align_x(Alignment::Center)
.width(Length::Fill);
for item in items {
- column = column.push(
- droppable(text(item.clone().to_string()))
- .on_drop(move |point, rect| Message::DropNewElement(item.clone(), point, rect)),
- );
+ column =
+ column.push(droppable(text(item.clone().to_string())).on_drop(
+ move |point, rect| {
+ Message::DropNewElement(item.clone(), point, rect)
+ },
+ ));
}
container(column)
@@ -26,7 +27,7 @@ fn items_list_view<'a>(items: &'a Vec<ElementName>) -> Element<'a, Message> {
}
pub fn view<'a>(
- element_list: &'a Vec<ElementName>,
+ element_list: &'a [ElementName],
is_focused: bool,
) -> pane_grid::Content<'a, Message> {
let items_list = items_list_view(element_list);
diff --git a/iced_builder/src/views/style.rs b/iced_builder/src/panes/style.rs
index 1eefb2d..1eefb2d 100644
--- a/iced_builder/src/views/style.rs
+++ b/iced_builder/src/panes/style.rs