88 lines
2.4 KiB
C++
88 lines
2.4 KiB
C++
|
|
#include <QJsonArray>
|
||
|
|
#include "monitorPanel.h"
|
||
|
|
#include <QMessageBox>
|
||
|
|
#include <QCloseEvent>
|
||
|
|
#include "graphicsDataModel/fixedPortsModel.h"
|
||
|
|
#include "graphicsItem/graphicsBaseItem.h"
|
||
|
|
#include "powerEntity.h"
|
||
|
|
#include "statusBar.h"
|
||
|
|
#include "baseProperty.h"
|
||
|
|
#include "graphicsItem/electricBayItem.h"
|
||
|
|
|
||
|
|
MonitorPanel::MonitorPanel(PowerEntity* pEntity,QWidget *parent,DiagramMode mode)
|
||
|
|
: BaseDrawingPanel(pEntity,parent,mode)
|
||
|
|
{
|
||
|
|
m_pStatusBar->setButtonVisible(false);
|
||
|
|
}
|
||
|
|
|
||
|
|
MonitorPanel::~MonitorPanel()
|
||
|
|
{
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
void MonitorPanel::closeEvent(QCloseEvent *closeEvent)
|
||
|
|
{
|
||
|
|
emit panelDelete(_name,2);
|
||
|
|
}
|
||
|
|
|
||
|
|
QJsonObject MonitorPanel::getMonitorInfo() const
|
||
|
|
{
|
||
|
|
QJsonObject obj;
|
||
|
|
QJsonArray arr;
|
||
|
|
if(_pModel)
|
||
|
|
{
|
||
|
|
QMap<QUuid,itemPageInfo> map = _pModel->allNodePos();
|
||
|
|
for(auto iter = map.begin();iter != map.end();++iter)
|
||
|
|
{
|
||
|
|
QJsonObject node;
|
||
|
|
node["id"] = iter.key().toString();
|
||
|
|
node["x"] = iter.value().pos.x();
|
||
|
|
node["y"] = iter.value().pos.y();
|
||
|
|
node["width"] = iter.value().dWidth;
|
||
|
|
node["height"] = iter.value().dHeight;
|
||
|
|
node["rotate"] = iter.value().dRotate;
|
||
|
|
arr.append(node);
|
||
|
|
}
|
||
|
|
obj["nodes"] = arr;
|
||
|
|
|
||
|
|
QJsonArray arrConnect;
|
||
|
|
QVector<ModelProperty*> vec = _pModel->allConnectionProperty();
|
||
|
|
for(auto& pPro:vec){
|
||
|
|
Connection con = pPro->getConnection();
|
||
|
|
QJsonObject connect;
|
||
|
|
connect["id"] = pPro->uuid().toString();
|
||
|
|
connect["SrcNodeId"] = con.nSrcNodeId.toString();
|
||
|
|
connect["SrcPortId"] = con.nSrcPortId.toString();
|
||
|
|
connect["DestNodeId"] = con.nDestNodeId.toString();
|
||
|
|
connect["DestPortId"] = con.nDestPortId.toString();
|
||
|
|
arrConnect.append(connect);
|
||
|
|
}
|
||
|
|
obj["connections"] = arrConnect;
|
||
|
|
|
||
|
|
QJsonArray arrBay;
|
||
|
|
QMap<QUuid,ElectricBayItem*> mapBay = _pModel->allBayItem();
|
||
|
|
for(auto& bayItem:mapBay){
|
||
|
|
AbstractProperty* pPro = bayItem->getProperty();
|
||
|
|
BayProperty* pBay = dynamic_cast<BayProperty*>(pPro);
|
||
|
|
if(pBay)
|
||
|
|
{
|
||
|
|
QJsonObject bay;
|
||
|
|
bay["id"] = pBay->uuid().toString();
|
||
|
|
arrBay.append(bay);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
obj["bays"] = arrBay;
|
||
|
|
}
|
||
|
|
return obj;
|
||
|
|
}
|
||
|
|
|
||
|
|
void MonitorPanel::loadNodes(QJsonObject obj)
|
||
|
|
{
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
void MonitorPanel::saveNodes(int pageId)
|
||
|
|
{
|
||
|
|
|
||
|
|
}
|