diff options
| author | Polesznyák Márk László <116908301+pml68@users.noreply.github.com> | 2024-12-26 00:12:06 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-26 00:12:06 +0100 |
| commit | 0ae3ec6cc9babcab39c76f023606229a151916ab (patch) | |
| tree | e92d0109599622984b2c485cc020951da288cec3 /iced_builder/src/types.rs | |
| parent | Merge pull request #3 from pml68/refactor/internal-restructuring (diff) | |
| parent | feat: add `tip` widget helper from `hecrj/icebreaker` (diff) | |
| download | iced-builder-0ae3ec6cc9babcab39c76f023606229a151916ab.tar.gz | |
Merge pull request #4 from pml68/feat/playground
Playground done **for now**
Diffstat (limited to 'iced_builder/src/types.rs')
| -rw-r--r-- | iced_builder/src/types.rs | 48 |
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, +} |
