summaryrefslogtreecommitdiff
path: root/iced_builder/src/types
diff options
context:
space:
mode:
authorpml68 <contact@pml68.me>2024-11-06 14:22:41 +0100
committerpml68 <contact@pml68.me>2024-11-06 16:26:36 +0100
commit65d3c249c9da370e26521a5ff409b6e6fdad4779 (patch)
treeac8f2a1d05e481da6d3f82cce6081b853a71269c /iced_builder/src/types
parentfix: error when dropping new element on element list (diff)
downloadiced-builder-65d3c249c9da370e26521a5ff409b6e6fdad4779.tar.gz
feat: animated theme switching with `iced_anim` crate
c c
Diffstat (limited to 'iced_builder/src/types')
-rw-r--r--iced_builder/src/types/element_name.rs4
-rw-r--r--iced_builder/src/types/mod.rs16
-rw-r--r--iced_builder/src/types/project.rs8
-rwxr-xr-xiced_builder/src/types/rendered_element.rs4
4 files changed, 18 insertions, 14 deletions
diff --git a/iced_builder/src/types/element_name.rs b/iced_builder/src/types/element_name.rs
index d71ae30..cdbdf8f 100644
--- a/iced_builder/src/types/element_name.rs
+++ b/iced_builder/src/types/element_name.rs
@@ -1,6 +1,6 @@
use serde::{Deserialize, Serialize};
-use crate::error::Error;
+use crate::{Error, Result};
use super::rendered_element::{
button, column, container, image, row, svg, text, Action, RenderedElement,
@@ -32,7 +32,7 @@ impl ElementName {
&self,
element_tree: Option<&mut RenderedElement>,
action: Action,
- ) -> Result<Option<RenderedElement>, Error> {
+ ) -> Result<Option<RenderedElement>> {
let element = match self {
Self::Text(_) => text(""),
Self::Button(_) => button(""),
diff --git a/iced_builder/src/types/mod.rs b/iced_builder/src/types/mod.rs
index 841b255..02fab4a 100644
--- a/iced_builder/src/types/mod.rs
+++ b/iced_builder/src/types/mod.rs
@@ -8,12 +8,16 @@ pub use rendered_element::*;
use std::path::PathBuf;
-use crate::error::Error;
-use iced::widget::{pane_grid, text_editor};
+use crate::Result;
+use iced::{
+ widget::{pane_grid, text_editor},
+ Theme,
+};
+use iced_anim::SpringEvent;
#[derive(Debug, Clone)]
pub enum Message {
- ToggleDarkMode,
+ ToggleTheme(SpringEvent<Theme>),
CopyCode,
SwitchPage(DesignerPage),
EditorAction(text_editor::Action),
@@ -33,14 +37,14 @@ pub enum Message {
PaneDragged(pane_grid::DragEvent),
NewFile,
OpenFile,
- FileOpened(Result<(PathBuf, Project), Error>),
+ FileOpened(Result<(PathBuf, Project)>),
SaveFile,
SaveFileAs,
- FileSaved(Result<PathBuf, Error>),
+ FileSaved(Result<PathBuf>),
}
#[derive(Debug, Clone)]
pub enum DesignerPage {
- Designer,
+ DesignerView,
CodeView,
}
diff --git a/iced_builder/src/types/project.rs b/iced_builder/src/types/project.rs
index 8d24a75..a33d3bb 100644
--- a/iced_builder/src/types/project.rs
+++ b/iced_builder/src/types/project.rs
@@ -4,7 +4,7 @@ use std::path::{Path, PathBuf};
use iced::Theme;
use serde::{Deserialize, Serialize};
-use crate::error::Error;
+use crate::{Error, Result};
use super::rendered_element::RenderedElement;
@@ -55,7 +55,7 @@ impl Project {
}
}
- pub async fn from_path() -> Result<(PathBuf, Self), Error> {
+ pub async fn from_path() -> Result<(PathBuf, Self)> {
let picked_file = rfd::AsyncFileDialog::new()
.set_title("Open a JSON file...")
.add_filter("*.json, *.JSON", &["json", "JSON"])
@@ -71,7 +71,7 @@ impl Project {
Ok((path, element))
}
- pub async fn write_to_file(self, path: Option<PathBuf>) -> Result<PathBuf, Error> {
+ pub async fn write_to_file(self, path: Option<PathBuf>) -> Result<PathBuf> {
let path = if let Some(p) = path {
p
} else {
@@ -92,7 +92,7 @@ impl Project {
Ok(path)
}
- pub fn app_code(&self) -> Result<String, Error> {
+ pub fn app_code(&self) -> Result<String> {
match self.element_tree {
Some(ref element_tree) => {
let (imports, view) = element_tree.codegen();
diff --git a/iced_builder/src/types/rendered_element.rs b/iced_builder/src/types/rendered_element.rs
index 58fd18d..b1edb66 100755
--- a/iced_builder/src/types/rendered_element.rs
+++ b/iced_builder/src/types/rendered_element.rs
@@ -5,7 +5,7 @@ use iced::{widget, Element, Length};
use serde::{Deserialize, Serialize};
use unique_id::{string::StringGenerator, Generator};
-use crate::{error::Error, types::Message};
+use crate::{types::Message, Result};
use super::ElementName;
@@ -121,7 +121,7 @@ impl RenderedElement {
&self,
element_tree: Option<&mut RenderedElement>,
action: Action,
- ) -> Result<(), Error> {
+ ) -> Result<()> {
let element_tree = element_tree.unwrap();
match action {