DYTSrouce/src/workspace/WorkSpaceXMLWrite.h
2025-10-15 00:41:12 +08:00

29 lines
786 B
C++

#pragma once
#include <QObject>
#include "xml/tinyxml2.h"
class WorkSpace;
class WorkSpaceXMLWrite : public QObject {
Q_OBJECT
public:
explicit WorkSpaceXMLWrite(WorkSpace* workspace, QObject* parent = nullptr) noexcept;
~WorkSpaceXMLWrite() override = default;
bool Save(const QString& path);
protected:
bool SaveScene(tinyxml2::XMLElement* scene);
bool SaveTimeStep(tinyxml2::XMLElement* scene);
bool SaveLamp(tinyxml2::XMLElement* scene);
bool SaveCommond(tinyxml2::XMLElement* scene);
bool SaveEntities(tinyxml2::XMLElement* scene, tinyxml2::XMLDocument* doc);
bool SaveChart(tinyxml2::XMLElement* scene, tinyxml2::XMLDocument* doc);
bool SaveFiles(tinyxml2::XMLElement* scene, tinyxml2::XMLDocument* doc);
private:
WorkSpace* workSpace_;
};