summaryrefslogtreecommitdiffstats
path: root/Project/ElementDataObject.h
diff options
context:
space:
mode:
Diffstat (limited to 'Project/ElementDataObject.h')
-rw-r--r--Project/ElementDataObject.h37
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