diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/icon.rs | 6 | ||||
| -rw-r--r-- | src/panes/code_view.rs | 49 | ||||
| -rw-r--r-- | src/panes/designer_view.rs | 29 |
3 files changed, 56 insertions, 28 deletions
diff --git a/src/icon.rs b/src/icon.rs index 9dc0a89..3fbeb83 100644 --- a/src/icon.rs +++ b/src/icon.rs @@ -1,6 +1,6 @@ // Generated automatically by iced_fontello at build time. // Do not edit manually. Source: ../fonts/icons.toml -// 02c7558d187cdc056fdd0e6a638ef805fa10f5955f834575e51d75acd35bc70e +// 915ea6b0646871c0f04350f201f27f28881b61f3bd6ef292a415d67a211739c1 use iced::widget::{text, Text}; use iced::Font; @@ -18,6 +18,10 @@ pub fn save<'a>() -> Text<'a> { icon("\u{1F4BE}") } +pub fn switch<'a>() -> Text<'a> { + icon("\u{21C6}") +} + fn icon(codepoint: &str) -> Text<'_> { text(codepoint).font(Font::with_name("icons")) } diff --git a/src/panes/code_view.rs b/src/panes/code_view.rs index 551347c..85b0bbe 100644 --- a/src/panes/code_view.rs +++ b/src/panes/code_view.rs @@ -22,25 +22,40 @@ pub fn view( editor_content: &text_editor::Content, is_focused: bool, ) -> pane_grid::Content<'_, Message> { - let title = row![ - text("Generated Code"), - Space::with_width(Length::Fill), - tip( - button(icon::copy()) - .on_press(Message::CopyCode) - .padding([2, 7]) - .style(button::text), - "Copy", - tip::Position::FollowCursor - ), - Space::with_width(20), - button("Switch to Designer view") - .on_press(Message::SwitchPage(DesignerPane::DesignerView)) - ] - .align_y(Alignment::Center); - let title_bar = pane_grid::TitleBar::new(title) + let title_bar = pane_grid::TitleBar::new(text("Generated Code").center()) + .controls(pane_grid::Controls::dynamic( + row![ + tip( + button(icon::copy()) + .on_press(Message::CopyCode) + .padding([2, 7]) + .style(button::text), + "Copy", + tip::Position::FollowCursor + ), + Space::with_width(20), + button("Switch to Designer view") + .on_press(Message::SwitchPage(DesignerPane::DesignerView)) + ] + .align_y(Alignment::Center), + row![ + tip( + button(icon::copy()) + .on_press(Message::CopyCode) + .padding([2, 7]) + .style(button::text), + "Copy", + tip::Position::FollowCursor + ), + Space::with_width(20), + button(icon::switch()) + .on_press(Message::SwitchPage(DesignerPane::DesignerView)) + ] + .align_y(Alignment::Center), + )) .padding(10) .style(style::title_bar); + pane_grid::Content::new( text_editor(editor_content) .on_action(Message::EditorAction) diff --git a/src/panes/designer_view.rs b/src/panes/designer_view.rs index 69ff750..af72022 100644 --- a/src/panes/designer_view.rs +++ b/src/panes/designer_view.rs @@ -1,9 +1,10 @@ use iced::widget::{ - Space, button, center, container, pane_grid, responsive, row, text, themer, + button, center, container, pane_grid, responsive, row, text, themer, }; use iced::{Alignment, Element, Length}; use super::style; +use crate::icon; use crate::types::{DesignerPane, Message, RenderedElement}; pub fn view<'a>( @@ -24,22 +25,30 @@ pub fn view<'a>( .into() }) .into(), - None => text("Open a project or begin creating one").into(), + None => center("Open a project or begin creating one").into(), }; + let content = container(themer(designer_theme, el_tree)) .id(iced::widget::container::Id::new("drop_zone")) .height(Length::Fill) .width(Length::Fill); - let title = row![ - text("Designer"), - Space::with_width(Length::Fill), - button("Switch to Code view") - .on_press(Message::SwitchPage(DesignerPane::CodeView)), - ] - .align_y(Alignment::Center); - let title_bar = pane_grid::TitleBar::new(title) + + let title_bar = pane_grid::TitleBar::new(text("Designer").center()) + .controls(pane_grid::Controls::dynamic( + row![ + button("Switch to Code view") + .on_press(Message::SwitchPage(DesignerPane::CodeView),) + ] + .align_y(Alignment::Center), + row![ + button(icon::switch()) + .on_press(Message::SwitchPage(DesignerPane::CodeView),) + ] + .align_y(Alignment::Center), + )) .padding(10) .style(style::title_bar); + pane_grid::Content::new(content) .title_bar(title_bar) .style(if is_focused { |
