serde impls for docking manager layout

This commit is contained in:
Dmitry
2023-07-06 18:16:08 +03:00
parent 4eb4881bad
commit 7de9dede5a
4 changed files with 12 additions and 11 deletions
+1 -1
View File
@@ -45,5 +45,5 @@ js-sys = "0.3.53"
android-activity = "0.4.1"
[features]
serde = ["nalgebra/serde-serialize"]
serde = ["nalgebra/serde-serialize", "uuid/serde"]
enable_profiler = []
+1 -1
View File
@@ -16,7 +16,7 @@ resolver = "2"
rust-version = "1.56"
[dependencies]
fyrox-core = { path = "../fyrox-core", version = "0.24.0" }
fyrox-core = { path = "../fyrox-core", version = "0.24.0", features = ["serde"] }
lazy_static = "1.4.0"
copypasta = "0.8.1"
fontdue = "0.7.2"
+8 -8
View File
@@ -1,12 +1,12 @@
use crate::dock::TileBuilder;
use crate::widget::WidgetBuilder;
use crate::{
core::{algebra::Vector2, pool::Handle, uuid::Uuid, visitor::prelude::*},
dock::{Tile, TileContent},
dock::{Tile, TileBuilder, TileContent},
widget::WidgetBuilder,
Orientation, UiNode, UserInterface,
};
use serde::{Deserialize, Serialize};
#[derive(Debug, PartialEq, Clone, Default)]
#[derive(Debug, PartialEq, Clone, Default, Serialize, Deserialize)]
pub struct SplitTilesDescriptor {
pub splitter: f32,
pub orientation: Orientation,
@@ -27,7 +27,7 @@ impl Visit for SplitTilesDescriptor {
}
}
#[derive(Debug, PartialEq, Clone, Visit, Default)]
#[derive(Debug, PartialEq, Clone, Visit, Default, Serialize, Deserialize)]
pub enum TileContentDescriptor {
#[default]
Empty,
@@ -60,7 +60,7 @@ impl TileContentDescriptor {
}
}
#[derive(Debug, PartialEq, Clone, Visit, Default)]
#[derive(Debug, PartialEq, Clone, Visit, Default, Serialize, Deserialize)]
pub struct TileDescriptor {
pub tile_uuid: Uuid,
pub content: TileContentDescriptor,
@@ -112,14 +112,14 @@ impl TileDescriptor {
}
}
#[derive(Debug, PartialEq, Clone, Visit, Default)]
#[derive(Debug, PartialEq, Clone, Visit, Default, Serialize, Deserialize)]
pub struct FloatingWindowDescriptor {
pub id: Uuid,
pub position: Vector2<f32>,
pub size: Vector2<f32>,
}
#[derive(Debug, PartialEq, Clone, Visit, Default)]
#[derive(Debug, PartialEq, Clone, Visit, Default, Serialize, Deserialize)]
pub struct DockingManagerLayoutDescriptor {
pub floating_windows: Vec<FloatingWindowDescriptor>,
pub root_tile_descriptor: Option<TileDescriptor>,
+2 -1
View File
@@ -253,6 +253,7 @@ use crate::{
};
use copypasta::ClipboardContext;
use fxhash::{FxHashMap, FxHashSet};
use serde::{Deserialize, Serialize};
use std::{
cell::{Cell, Ref, RefCell, RefMut},
collections::{btree_set::BTreeSet, hash_map::Entry, VecDeque},
@@ -351,7 +352,7 @@ impl Deref for RcUiNodeHandle {
}
}
#[derive(Copy, Clone, Debug, PartialEq, Eq, Visit, Default)]
#[derive(Copy, Clone, Debug, PartialEq, Eq, Visit, Default, Serialize, Deserialize)]
pub enum Orientation {
#[default]
Vertical,