From 7d241eb768a3c56d98f5d41183866fffb9ff167a Mon Sep 17 00:00:00 2001 From: pml68 Date: Sun, 20 Oct 2024 11:51:54 +0200 Subject: feat: implement d&d for new elements `ActionKind` enum to help generalize d&d actions removed `codegen` module small refactors --- iced_builder/src/lib.rs | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'iced_builder/src/lib.rs') diff --git a/iced_builder/src/lib.rs b/iced_builder/src/lib.rs index 971e0e3..6de9ba8 100644 --- a/iced_builder/src/lib.rs +++ b/iced_builder/src/lib.rs @@ -1,16 +1,18 @@ -pub mod codegen; pub mod types; use std::path::PathBuf; use iced::widget::{pane_grid, text_editor}; -use types::{project::Project, rendered_element::RenderedElement, DesignerPage}; +use types::{ + element_name::ElementName, project::Project, rendered_element::RenderedElement, DesignerPage, +}; #[derive(Debug, Clone)] pub enum Error { IOError(std::io::ErrorKind), SerdeError(String), FormatError(String), + NonExistentElement, DialogClosed, String(String), } @@ -24,6 +26,9 @@ impl std::fmt::Display for Error { Self::IOError(kind) => { write!(f, "{}", kind) } + Self::NonExistentElement => { + write!(f, "The element tree contains no matching element.") + } Self::DialogClosed => { write!( f, @@ -64,9 +69,9 @@ pub enum Message { CopyCode, SwitchPage(DesignerPage), EditorAction(text_editor::Action), - DropNewElement(types::ElementName, iced::Point, iced::Rectangle), + DropNewElement(ElementName, iced::Point, iced::Rectangle), HandleNew( - types::ElementName, + ElementName, Vec<(iced::advanced::widget::Id, iced::Rectangle)>, ), MoveElement(RenderedElement, iced::Point, iced::Rectangle), @@ -74,8 +79,8 @@ pub enum Message { RenderedElement, Vec<(iced::advanced::widget::Id, iced::Rectangle)>, ), - Resized(pane_grid::ResizeEvent), - Clicked(pane_grid::Pane), + PaneResized(pane_grid::ResizeEvent), + PaneClicked(pane_grid::Pane), PaneDragged(pane_grid::DragEvent), NewFile, OpenFile, -- cgit v1.2.3