23 #include "rapidxml/rapidxml_print.hpp"
24 #include "rapidxml/rapidxml_utils.hpp"
49 class CanvasXML :
public std::enable_shared_from_this<CanvasXML>{
54 static std::shared_ptr<CanvasXML>
CreateFromFile(std::string path);
64 static std::shared_ptr<CanvasXML>
CreateFromCanvas(std::shared_ptr<Canvas> canvas);
100 char* input_buffer =
nullptr;
101 rapidxml::xml_document<> doc;
105 std::map<std::shared_ptr<Module>,
int> modules_to_saveids;
106 int saveid_counter = 0;
108 std::map<int, std::shared_ptr<Module>> saveids_to_modules;
111 void AppendModule(std::shared_ptr<Module>);
119 void UpdateStringFromDoc();
122 bool block_string_updates =
false;
127 #endif // CANVASXML_HPP
XMLFileAccess(std::string t)
Definition: CanvasXML.hpp:31
LateReturn< std::shared_ptr< Canvas > > CreateNewCanvas(std::shared_ptr< Canvas > parent)
LateReturn< std::shared_ptr< Canvas > > ApplyToCanvas(std::shared_ptr< Canvas > c)
void clone_node_copying(const xml_node< Ch > *source, xml_node< Ch > *dest, xml_document<> *target_doc)
Definition: rapidxml_algaudio.hpp:30
static std::shared_ptr< CanvasXML > CreateFromNode(rapidxml::xml_node<> *node)
static std::shared_ptr< CanvasXML > CreateFromFile(std::string path)
Definition: CanvasXML.hpp:30
static std::shared_ptr< CanvasXML > CreateFromCanvas(std::shared_ptr< Canvas > canvas)
void SaveToFile(std::string path)
XMLParse(std::string t)
Definition: CanvasXML.hpp:34
Definition: CanvasXML.hpp:33
Definition: Module.hpp:37
static std::shared_ptr< CanvasXML > CreateFromString(std::string string)
Definition: Canvas.hpp:85
void CloneToAnotherXMLTree(rapidxml::xml_node<> *node, rapidxml::xml_document<> *doc)
Definition: CanvasXML.hpp:78
std::string GetXMLAsString()
Definition: Alertable.hpp:26
Definition: Canvas.hpp:149
Definition: CanvasXML.hpp:49
Definition: LateReturn.hpp:35
Definition: Exception.hpp:29