27 lines
643 B
C
27 lines
643 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 SaveEntities(tinyxml2::XMLElement* scene, tinyxml2::XMLDocument* doc);
|
||
|
|
bool SaveChart(tinyxml2::XMLElement* scene, tinyxml2::XMLDocument* doc);
|
||
|
|
private:
|
||
|
|
WorkSpace* workSpace_;
|
||
|
|
|
||
|
|
};
|