#ifndef ELEMENTHASHTABLE_H #define ELEMENTHASHTABLE_H #include #include #include #include #include #include #include #include #include "BasicElementInfo.h" #include "subcontrolarea.h" #include "busbarsection.h" #include "terminal.h" #include "aclinesegment.h" #include "breaker.h" #include "compensator.h" #include "disconnector.h" #include "powertransformer.h" #include "synchronousmachine.h" #include "topologyrecorder.h" class ElementHashtable : public QObject { Q_OBJECT public: explicit ElementHashtable(QObject *parent = 0); bool Parse(const QString& xmlPWPath,const QString& xmlZWPath); bool GoPath(); void ExportTo(const QString& path); void SetACLineID(const QString &id);//寻找的线路ID void SetLoadFilePath(const QString &path); void SetFDSet(const QVector &FDSet);//FeeDer集合 void ShowContainerInfo(const QString& fileName); private: bool child(QXmlStreamReader &reader); bool setCurrentHashTable(QHash *t); bool parse(const QString& xmlPath); QHash eleHT; QHash mainStationHT;//记录主站的元素 NodeToTerminal nodeToTerminal; QHash *currentHT; QString lineID; QVector FDSet; TopologyRecorder *tpRecorder; QString loadFilePath; signals: public slots: }; #endif // ELEMENTHASHTABLE_H