diff options
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 |
