summaryrefslogtreecommitdiff
path: root/iced_builder/src/types.rs
diff options
context:
space:
mode:
authorpml68 <contact@pml68.dev>2024-12-26 00:04:43 +0100
committerpml68 <contact@pml68.dev>2024-12-26 00:04:43 +0100
commit72e527f51acc44195df5cafda7d8f3d6dc12695c (patch)
tree4d3cd66306fa90578cefde658c8b1be420fb6e53 /iced_builder/src/types.rs
parentrefactor: remove uses find_parent internally, change element_list to &[] (diff)
downloadiced-builder-72e527f51acc44195df5cafda7d8f3d6dc12695c.tar.gz
refactor: `views` -> `panes`, `mod.rs` -> `{panes,types}.rs`
Diffstat (limited to 'iced_builder/src/types.rs')
-rw-r--r--iced_builder/src/types.rs48
1 files changed, 48 insertions, 0 deletions
diff --git a/iced_builder/src/types.rs b/iced_builder/src/types.rs
new file mode 100644
index 0000000..161b5e1
--- /dev/null
+++ b/iced_builder/src/types.rs
@@ -0,0 +1,48 @@
+pub mod element_name;
+pub mod project;
+pub mod rendered_element;
+
+use std::path::PathBuf;
+
+pub use element_name::ElementName;
+use iced::widget::{pane_grid, text_editor};
+use iced::Theme;
+use iced_anim::SpringEvent;
+pub use project::Project;
+pub use rendered_element::*;
+
+use crate::Result;
+
+#[derive(Debug, Clone)]
+pub enum Message {
+ ToggleTheme(SpringEvent<Theme>),
+ CopyCode,
+ SwitchPage(DesignerPage),
+ EditorAction(text_editor::Action),
+ RefreshEditorContent,
+ DropNewElement(ElementName, iced::Point, iced::Rectangle),
+ HandleNew(
+ ElementName,
+ Vec<(iced::advanced::widget::Id, iced::Rectangle)>,
+ ),
+ MoveElement(RenderedElement, iced::Point, iced::Rectangle),
+ HandleMove(
+ RenderedElement,
+ Vec<(iced::advanced::widget::Id, iced::Rectangle)>,
+ ),
+ PaneResized(pane_grid::ResizeEvent),
+ PaneClicked(pane_grid::Pane),
+ PaneDragged(pane_grid::DragEvent),
+ NewFile,
+ OpenFile,
+ FileOpened(Result<(PathBuf, Project)>),
+ SaveFile,
+ SaveFileAs,
+ FileSaved(Result<PathBuf>),
+}
+
+#[derive(Debug, Clone)]
+pub enum DesignerPage {
+ DesignerView,
+ CodeView,
+}