diff options
Diffstat (limited to 'Project/ElementDataObject.h')
-rw-r--r-- | Project/ElementDataObject.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Project/ElementDataObject.h b/Project/ElementDataObject.h new file mode 100644 index 0000000..70aacc5 --- /dev/null +++ b/Project/ElementDataObject.h @@ -0,0 +1,37 @@ +#ifndef ELEMENTDATAOBJECT_H +#define ELEMENTDATAOBJECT_H + +#include <wx/dataobj.h> +#include "Workspace.h" + +class ElectricCalculation; + +struct ElementsLists { + std::vector<Bus*> busList; + std::vector<Capacitor*> capacitorList; + std::vector<IndMotor*> indMotorList; + std::vector<Inductor*> inductorList; + std::vector<Line*> lineList; + std::vector<Load*> loadList; + std::vector<Machines*> machinesList; + std::vector<SyncGenerator*> syncGeneratorList; + std::vector<SyncMotor*> syncMotorList; + std::vector<Transformer*> transformerList; + std::vector<Text*> textList; +}; + +class ElementDataObject : public wxDataObjectSimple +{ +public: + ElementDataObject(Workspace* workspace); + ~ElementDataObject(); + + size_t GetDataSize() const override; + bool GetDataHere(void* buf) const override; + bool SetData(size_t len, const void* buf) override; + + ElementsLists* m_elementsLists; + ElectricCalculation m_allElements; +}; + +#endif // ELEMENTDATAOBJECT_H |