Handles JSON serialization and deserialization of layouts. More...
#include <layout_serialization.h>
Static Public Member Functions | |
| static std::string | ToJson (const LayoutDefinition &layout) |
| Serialize a layout to JSON string. | |
| static absl::StatusOr< LayoutDefinition > | FromJson (const std::string &json_str) |
| Deserialize a layout from JSON string. | |
| static absl::Status | SaveToFile (const LayoutDefinition &layout, const std::string &filepath) |
| Save layout to JSON file. | |
| static absl::StatusOr< LayoutDefinition > | LoadFromFile (const std::string &filepath) |
| Load layout from JSON file. | |
Static Private Member Functions | |
| static std::string | SerializePanel (const LayoutPanel &panel) |
| static std::string | SerializeDockNode (const DockNode &node) |
| static LayoutPanel | DeserializePanel (const std::string &json) |
| static std::unique_ptr< DockNode > | DeserializeDockNode (const std::string &json) |
Handles JSON serialization and deserialization of layouts.
Definition at line 17 of file layout_serialization.h.
|
static |
Serialize a layout to JSON string.
| layout | The layout to serialize |
Definition at line 71 of file layout_serialization.cc.
References yaze::editor::layout_designer::LayoutDefinition::author, yaze::editor::layout_designer::LayoutDefinition::canvas_size, yaze::editor::layout_designer::LayoutDefinition::created_timestamp, yaze::editor::layout_designer::LayoutDefinition::description, yaze::editor::layout_designer::LayoutDefinition::modified_timestamp, yaze::editor::layout_designer::LayoutDefinition::name, yaze::editor::layout_designer::LayoutDefinition::root, SerializeDockNode(), and yaze::editor::layout_designer::LayoutDefinition::version.
Referenced by SaveToFile().

|
static |
Deserialize a layout from JSON string.
| json_str | The JSON string |
Definition at line 153 of file layout_serialization.cc.
Referenced by LoadFromFile().
|
static |
Save layout to JSON file.
| layout | The layout to save |
| filepath | Path to save to |
Definition at line 162 of file layout_serialization.cc.
References LOG_INFO, and ToJson().

|
static |
Load layout from JSON file.
| filepath | Path to load from |
Definition at line 183 of file layout_serialization.cc.
References FromJson().

|
staticprivate |
Definition at line 140 of file layout_serialization.cc.
References yaze::editor::layout_designer::LayoutPanel::closable, yaze::editor::layout_designer::LayoutPanel::display_name, yaze::editor::layout_designer::LayoutPanel::icon, yaze::editor::layout_designer::LayoutPanel::panel_id, yaze::editor::layout_designer::LayoutPanel::pinnable, yaze::editor::layout_designer::LayoutPanel::priority, and yaze::editor::layout_designer::LayoutPanel::visible_by_default.
Referenced by SerializeDockNode().
|
staticprivate |
Definition at line 97 of file layout_serialization.cc.
References yaze::editor::layout_designer::DockNode::child_left, yaze::editor::layout_designer::DockNode::child_right, yaze::editor::layout_designer::DockNode::IsLeaf(), yaze::editor::layout_designer::DockNode::IsSplit(), yaze::editor::layout_designer::DockNode::panels, SerializeDockNode(), SerializePanel(), yaze::editor::layout_designer::DockNode::split_dir, yaze::editor::layout_designer::DockNode::split_ratio, and yaze::editor::layout_designer::DockNode::type.
Referenced by SerializeDockNode(), and ToJson().

|
staticprivate |
|
staticprivate |