DiagramDesigner/diagramCavas/include/powerConnection.h

40 lines
1.2 KiB
C++

#ifndef POWETCONNECTION_H
#define POWETCONNECTION_H
/****************************
* 拓扑单元的连接线,表示连接关系
* *************************/
#include <QObject>
#include <QVariant>
#include "global.h"
// 连接线元数据(抽象连接关系)
class PowerConnection : public QObject {
Q_OBJECT
public:
PowerConnection(const QString& uuid,const QString& fromTerminalId,const QString& toTerminalId,const QString& fromId,const QString& toId,QObject* parent = nullptr);
PowerConnection* clone();
QString id() const {return m_uuid;}
QString fromTerminalId() const { return m_fromTerminal; }
QString toTerminalId() const { return m_toTerminal; }
QString fromComponent() const {return m_fromComponent;}
QString toComponent() const {return m_toComponent;}
QVariantMap properties() const { return m_properties; }
DataState state() {return m_state;}
void setState(DataState s) {m_state = s;}
void setProperty(const QString& key, const QVariant& value);
QJsonObject toJson() const;
private:
QString m_uuid;
QString m_fromTerminal;
QString m_toTerminal;
QString m_fromComponent;
QString m_toComponent;
DataState m_state;
QVariantMap m_properties;
};
#endif //POWETCONNECTION_H