diff options
| author | pml68 <contact@pml68.me> | 2024-10-30 03:00:17 +0100 |
|---|---|---|
| committer | pml68 <contact@pml68.me> | 2024-10-30 03:00:17 +0100 |
| commit | 87e745b8e60225a789b51d5011fa620051c4cfbe (patch) | |
| tree | 6bf3cede25ee428939500038439508415d636f45 /iced_builder/src/lib.rs | |
| parent | feat: implement very basic playground (diff) | |
| download | iced-builder-87e745b8e60225a789b51d5011fa620051c4cfbe.tar.gz | |
feat: add error dialogs, windows manifest
Diffstat (limited to '')
| -rw-r--r-- | iced_builder/src/lib.rs | 78 |
1 files changed, 2 insertions, 76 deletions
diff --git a/iced_builder/src/lib.rs b/iced_builder/src/lib.rs index c6f3616..ddb080c 100644 --- a/iced_builder/src/lib.rs +++ b/iced_builder/src/lib.rs @@ -1,79 +1,5 @@ +pub mod error; pub mod types; pub mod views; -use std::{io, path::PathBuf}; - -use iced::widget::{pane_grid, text_editor}; -use types::{ - element_name::ElementName, project::Project, rendered_element::RenderedElement, DesignerPage, -}; - -use thiserror::Error; - -#[derive(Debug, Clone, Error)] -pub enum Error { - #[error("an I/O error accured: {0}")] - IOError(String), - #[error("a Serde error accured: {0}")] - SerdeError(String), - #[error("an RustFmt error accured: {0}")] - FormatError(String), - #[error("the element tree contains no matching element")] - NonExistentElement, - #[error("the file dialog has been closed without selecting a valid option")] - DialogClosed, - #[error("{0}")] - Other(String), -} - -impl From<io::Error> for Error { - fn from(value: io::Error) -> Self { - Self::IOError(value.to_string()) - } -} - -impl From<serde_json::Error> for Error { - fn from(value: serde_json::Error) -> Self { - Self::SerdeError(value.to_string()) - } -} - -impl From<rust_format::Error> for Error { - fn from(value: rust_format::Error) -> Self { - Self::FormatError(value.to_string()) - } -} - -impl From<&'static str> for Error { - fn from(value: &'static str) -> Self { - Self::Other(value.to_owned()) - } -} - -#[derive(Debug, Clone)] -pub enum Message { - ToggleDarkMode, - 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), Error>), - SaveFile, - SaveFileAs, - FileSaved(Result<PathBuf, Error>), -} +pub type Result<T> = std::result::Result<T, error::Error>; |
