fix project model layout
This commit is contained in:
parent
660a7649c9
commit
8c1b772f50
|
|
@ -191,6 +191,8 @@ public:
|
||||||
QString zone() const {return sZone;}
|
QString zone() const {return sZone;}
|
||||||
void setStation(const QString& s) {sStation = s;}
|
void setStation(const QString& s) {sStation = s;}
|
||||||
QString station() const {return sStation;}
|
QString station() const {return sStation;}
|
||||||
|
void setStationId(int id) {nStationId = id;}
|
||||||
|
int stationId() const{return nStationId;}
|
||||||
void setSourceItemId(const QString& s) {sSourceItemId = s;}
|
void setSourceItemId(const QString& s) {sSourceItemId = s;}
|
||||||
QString getSourceItemId() {return sSourceItemId;}
|
QString getSourceItemId() {return sSourceItemId;}
|
||||||
void setMeasurement(QMap<QString,MeasurementInfo> map) {mMeasurement = map;}
|
void setMeasurement(QMap<QString,MeasurementInfo> map) {mMeasurement = map;}
|
||||||
|
|
@ -201,6 +203,7 @@ protected:
|
||||||
QString sGrid;
|
QString sGrid;
|
||||||
QString sZone;
|
QString sZone;
|
||||||
QString sStation;
|
QString sStation;
|
||||||
|
int nStationId = 0;
|
||||||
bool bInService;
|
bool bInService;
|
||||||
int nState;
|
int nState;
|
||||||
int nStatus;
|
int nStatus;
|
||||||
|
|
@ -219,6 +222,6 @@ public:
|
||||||
VariableProperty(QObject* parent = nullptr);
|
VariableProperty(QObject* parent = nullptr);
|
||||||
~VariableProperty();
|
~VariableProperty();
|
||||||
|
|
||||||
ModelDataInfo& getPropertyValue() const;
|
ModelDataInfo& getPropertyValue(bool useCatch = false) const;
|
||||||
};
|
};
|
||||||
#endif // DATABASE_H
|
#endif // DATABASE_H
|
||||||
|
|
|
||||||
|
|
@ -90,7 +90,7 @@ VariableProperty::~VariableProperty()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ModelDataInfo& VariableProperty::getPropertyValue() const
|
ModelDataInfo& VariableProperty::getPropertyValue(bool useCatch) const
|
||||||
{
|
{
|
||||||
return DataManager::instance().modelData()[sModelName];
|
return DataManager::instance().modelData(useCatch)[sModelName];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,7 @@ signals:
|
||||||
void updateMonitorTopology(QList<QUuid>);
|
void updateMonitorTopology(QList<QUuid>);
|
||||||
void pannelSelected(QString sPanel,int nType); //界面选择信号,名称,类型(0:editor)
|
void pannelSelected(QString sPanel,int nType); //界面选择信号,名称,类型(0:editor)
|
||||||
void clearTopology();
|
void clearTopology();
|
||||||
|
void projectSaved(const QString,int);
|
||||||
public slots:
|
public slots:
|
||||||
void onSignal_addDrawingPanel(PowerEntity* p,DiagramMode = DM_edit,QString parent = QString()); //parent:派生运行时的page
|
void onSignal_addDrawingPanel(PowerEntity* p,DiagramMode = DM_edit,QString parent = QString()); //parent:派生运行时的page
|
||||||
void onSignal_addGraphicsItem(ModelStateInfo&);
|
void onSignal_addGraphicsItem(ModelStateInfo&);
|
||||||
|
|
|
||||||
|
|
@ -90,7 +90,7 @@ public:
|
||||||
|
|
||||||
void showProjectModelSettingDlg(GraphicsBaseModelItem*); //在基模拓扑图上打开工程模设置对话框
|
void showProjectModelSettingDlg(GraphicsBaseModelItem*); //在基模拓扑图上打开工程模设置对话框
|
||||||
void generateProjectModel(const QString&,QList<GraphicsBaseModelItem*>,QList<GraphicsNonStandardItem*>); //由基模生成工程模
|
void generateProjectModel(const QString&,QList<GraphicsBaseModelItem*>,QList<GraphicsNonStandardItem*>); //由基模生成工程模
|
||||||
void addProjectItemByBaseData(DrawingPanel*,GraphicsBaseModelItem*,BaseProperty*,QString sGrid = "",QString sZone = "",QString sStation = ""); //从基模item生成工程模item
|
void addProjectItemByBaseData(DrawingPanel*,GraphicsBaseModelItem*,BaseProperty*,QString sGrid = "",QString sZone = "",QString sStation = "",int stationId = 0); //从基模item生成工程模item
|
||||||
void onWizardFinished(QMap<QUuid,GraphicsBaseModelItem*> mapItem,QList<EditBaseItem*> mapBay); //editor结束生成基模
|
void onWizardFinished(QMap<QUuid,GraphicsBaseModelItem*> mapItem,QList<EditBaseItem*> mapBay); //editor结束生成基模
|
||||||
/*************************间隔*****************************/
|
/*************************间隔*****************************/
|
||||||
void addBayItem(QUuid,ModelFunctionType = ModelFunctionType::ProjectModel);
|
void addBayItem(QUuid,ModelFunctionType = ModelFunctionType::ProjectModel);
|
||||||
|
|
@ -142,6 +142,7 @@ Q_SIGNALS:
|
||||||
void dataUpdated(); //数据更新通知
|
void dataUpdated(); //数据更新通知
|
||||||
void updateTopologyItems(QList<HierarchyItem>,bool,bool); //更新当前拓扑列表 <连接关系,是否刷新,显示全部层级>
|
void updateTopologyItems(QList<HierarchyItem>,bool,bool); //更新当前拓扑列表 <连接关系,是否刷新,显示全部层级>
|
||||||
void notifyUpdateMonitorTopology(QList<QUuid>); //使用列表中的item id更新总拓扑
|
void notifyUpdateMonitorTopology(QList<QUuid>); //使用列表中的item id更新总拓扑
|
||||||
|
void projectSaved(QString,int id); //工程模保存完成信号
|
||||||
public:
|
public:
|
||||||
void setPageName(QString s) {_pageName = s;} //设置表名称
|
void setPageName(QString s) {_pageName = s;} //设置表名称
|
||||||
QString pageName() const {return _pageName;}
|
QString pageName() const {return _pageName;}
|
||||||
|
|
@ -149,6 +150,7 @@ public:
|
||||||
void startHttpRequest(); //开始请求数据(运行时)
|
void startHttpRequest(); //开始请求数据(运行时)
|
||||||
void setCavas(QPointer<DiagramCavas> p) {_cavas = p;} //设置所属顶层容器
|
void setCavas(QPointer<DiagramCavas> p) {_cavas = p;} //设置所属顶层容器
|
||||||
DiagramCavas* getCavas();
|
DiagramCavas* getCavas();
|
||||||
|
void refreshConnection();
|
||||||
void updateTopologyLst(); //更新拓扑列表
|
void updateTopologyLst(); //更新拓扑列表
|
||||||
|
|
||||||
QMap<QUuid,GraphicsProjectModelItem*> getProjectItems(){return _nodeItem;}
|
QMap<QUuid,GraphicsProjectModelItem*> getProjectItems(){return _nodeItem;}
|
||||||
|
|
@ -166,7 +168,7 @@ public Q_SLOTS:
|
||||||
private:
|
private:
|
||||||
void addPortsToItem_json(PortState,QJsonArray,GraphicsBaseItem*); //将json格式的port添加到item
|
void addPortsToItem_json(PortState,QJsonArray,GraphicsBaseItem*); //将json格式的port添加到item
|
||||||
void autoSetModelName(GraphicsBaseModelItem*); //如果此页的工程模已被设置,将projectName更新到item
|
void autoSetModelName(GraphicsBaseModelItem*); //如果此页的工程模已被设置,将projectName更新到item
|
||||||
QString removeSuffix(const QString& str); //移除最后一个下划线后的内容 (处理各种tag后缀)
|
QString removeSuffix(const QString& str,QChar symbol = '_'); //移除最后一个符号后的内容 (处理各种tag后缀,默认'_')
|
||||||
ModelProperty* getItemByUid(QList<GraphicsBaseItem*>,QUuid); //返回uid对应的data
|
ModelProperty* getItemByUid(QList<GraphicsBaseItem*>,QUuid); //返回uid对应的data
|
||||||
void updateMonitor(QMap<QString,QMap<quint64,double>>); //使用当前数据更新运行时
|
void updateMonitor(QMap<QString,QMap<quint64,double>>); //使用当前数据更新运行时
|
||||||
void assignMeasureSymmetry(QMap<QString, MeasurementInfo>& measurementMap); //设置量测中互为double的name
|
void assignMeasureSymmetry(QMap<QString, MeasurementInfo>& measurementMap); //设置量测中互为double的name
|
||||||
|
|
|
||||||
|
|
@ -203,6 +203,9 @@ void DiagramCavas::onSignal_addDrawingPanel(PowerEntity* pItem,DiagramMode mode,
|
||||||
connect(pModel,&FixedPortsModel::updateTopologyItems,this,&DiagramCavas::onSignal_updateTopology);
|
connect(pModel,&FixedPortsModel::updateTopologyItems,this,&DiagramCavas::onSignal_updateTopology);
|
||||||
connect(pModel,&FixedPortsModel::itemSelected,this,&DiagramCavas::onSignal_selectedItems);
|
connect(pModel,&FixedPortsModel::itemSelected,this,&DiagramCavas::onSignal_selectedItems);
|
||||||
connect(pModel,&FixedPortsModel::notifyUpdateMonitorTopology,this,&DiagramCavas::onSignal_updateMonitorTopology);
|
connect(pModel,&FixedPortsModel::notifyUpdateMonitorTopology,this,&DiagramCavas::onSignal_updateMonitorTopology);
|
||||||
|
connect(pModel,&FixedPortsModel::projectSaved,this,[&](const QString sPage,int id){
|
||||||
|
emit projectSaved(sPage,id);
|
||||||
|
});
|
||||||
connect(pPanel,&DrawingPanel::panelDelete,this,&DiagramCavas::onSignal_panelDelete);
|
connect(pPanel,&DrawingPanel::panelDelete,this,&DiagramCavas::onSignal_panelDelete);
|
||||||
}
|
}
|
||||||
else if(mode == DM_run){
|
else if(mode == DM_run){
|
||||||
|
|
|
||||||
|
|
@ -930,7 +930,7 @@ void DiagramEditorModel::refreshConnection()
|
||||||
if(pTopoFrom && pTopoTo){
|
if(pTopoFrom && pTopoTo){
|
||||||
QPointF p1 = pFrom->pos();
|
QPointF p1 = pFrom->pos();
|
||||||
QPointF p2 = pTo->pos();
|
QPointF p2 = pTo->pos();
|
||||||
pTopoFrom->setRelativePosition(p1);
|
pTopoFrom->setRelativePosition(p1); //重绘连接位置时保存
|
||||||
pTopoTo->setRelativePosition(p2);
|
pTopoTo->setRelativePosition(p2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -939,12 +939,6 @@ void DiagramEditorModel::refreshConnection()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(_pCurPreviewScene){
|
|
||||||
for (QGraphicsItem *item : _pCurPreviewScene->items()) {
|
|
||||||
item->setSelected(true);
|
|
||||||
}
|
|
||||||
_pCurPreviewScene->clearSelection();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DiagramEditorModel::applyLayoutResult(const LayoutResult& result) {
|
void DiagramEditorModel::applyLayoutResult(const LayoutResult& result) {
|
||||||
|
|
|
||||||
|
|
@ -179,7 +179,7 @@ QString FixedPortsModel::addNodeItem(QUuid id,QPointF pos,double width,double he
|
||||||
QString sMeta = pro->metaModelName();
|
QString sMeta = pro->metaModelName();
|
||||||
QString sProModel = pro->modelName();
|
QString sProModel = pro->modelName();
|
||||||
|
|
||||||
ModelDataInfo mapValue = DataManager::instance().modelData()[sProModel];
|
ModelDataInfo mapValue = DataManager::instance().modelData(true)[sProModel];
|
||||||
PropertyValueInfo valueInfo; //属性组设置的数据 (ct,pt二次绕组)
|
PropertyValueInfo valueInfo; //属性组设置的数据 (ct,pt二次绕组)
|
||||||
if(mapValue.groupInfo.contains("base_extend"))
|
if(mapValue.groupInfo.contains("base_extend"))
|
||||||
{
|
{
|
||||||
|
|
@ -735,8 +735,8 @@ void FixedPortsModel::loadNodeDataFromDataBase()
|
||||||
QList<ComponentInfo> lst= DataBase::GetInstance()->getAllComponents();
|
QList<ComponentInfo> lst= DataBase::GetInstance()->getAllComponents();
|
||||||
for(auto &info:lst)
|
for(auto &info:lst)
|
||||||
{
|
{
|
||||||
QString preTag = removeSuffix(info.tag);
|
QString preTag = removeSuffix(info.tag,'-');
|
||||||
QString prePath = removeSuffix(info.nspath);
|
QString prePath = removeSuffix(info.nspath,'-');
|
||||||
BaseProperty* pData = addNodeData(info.uuid,info.type,info.name,info.modelName);
|
BaseProperty* pData = addNodeData(info.uuid,info.type,info.name,info.modelName);
|
||||||
pData->setTag(preTag);
|
pData->setTag(preTag);
|
||||||
pData->setName(info.name);
|
pData->setName(info.name);
|
||||||
|
|
@ -962,7 +962,7 @@ void FixedPortsModel::saveNode(int nPageId)
|
||||||
BayProperty* pBay = dynamic_cast<BayProperty*>(pro);
|
BayProperty* pBay = dynamic_cast<BayProperty*>(pro);
|
||||||
if(pBay){
|
if(pBay){
|
||||||
bool val = DataBase::GetInstance()->ifBayExist(pBay->uuid());
|
bool val = DataBase::GetInstance()->ifBayExist(pBay->uuid());
|
||||||
QString tempTag = pBay->tag()+"_"+_pageName; //tag后加工程名保持全局唯一
|
QString tempTag = pBay->tag()+"-"+_pageName; //tag后加工程名保持全局唯一
|
||||||
if(!val){
|
if(!val){
|
||||||
QJsonObject objFrom = turnListToJson(pBay->getLstFrom(),"id","ids");
|
QJsonObject objFrom = turnListToJson(pBay->getLstFrom(),"id","ids");
|
||||||
QJsonObject objTo= turnListToJson(pBay->getLstTo(),"id","ids");
|
QJsonObject objTo= turnListToJson(pBay->getLstTo(),"id","ids");
|
||||||
|
|
@ -993,6 +993,7 @@ void FixedPortsModel::saveNode(int nPageId)
|
||||||
QString sZoneTag;
|
QString sZoneTag;
|
||||||
QString sZoneName;
|
QString sZoneName;
|
||||||
QString sStationTag;
|
QString sStationTag;
|
||||||
|
int nStationId;
|
||||||
QString sStationName;
|
QString sStationName;
|
||||||
QList<QUuid> lstId = pBay->getLstComponent(); //获取间隔下的所有item,取一个item所属的层级关系
|
QList<QUuid> lstId = pBay->getLstComponent(); //获取间隔下的所有item,取一个item所属的层级关系
|
||||||
if(!lstId.isEmpty()){
|
if(!lstId.isEmpty()){
|
||||||
|
|
@ -1017,6 +1018,7 @@ void FixedPortsModel::saveNode(int nPageId)
|
||||||
for(auto& stationInfo:lstStation){
|
for(auto& stationInfo:lstStation){
|
||||||
if(pItemData->station() == stationInfo.tagname){
|
if(pItemData->station() == stationInfo.tagname){
|
||||||
sStationTag = stationInfo.tagname;
|
sStationTag = stationInfo.tagname;
|
||||||
|
nStationId = stationInfo.id;
|
||||||
sStationName = stationInfo.name;
|
sStationName = stationInfo.name;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -1026,7 +1028,7 @@ void FixedPortsModel::saveNode(int nPageId)
|
||||||
|
|
||||||
if(!bExist){
|
if(!bExist){
|
||||||
if(!bSaveFlag){
|
if(!bSaveFlag){
|
||||||
DataBase::GetInstance()->insertComponent(QUuid("11111111-1111-1111-1111-111111111111"),"","","","","","","",sStationTag,-1,false,-1,-1,QJsonObject(),QJsonObject(),QJsonObject(),1);
|
DataBase::GetInstance()->insertComponent(QUuid("11111111-1111-1111-1111-111111111111"),"","","","","","","",sStationTag,nStationId,-1,false,-1,-1,QJsonObject(),QJsonObject(),QJsonObject(),1);
|
||||||
bSaveFlag = true;
|
bSaveFlag = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1184,6 +1186,7 @@ void FixedPortsModel::saveNode(int nPageId)
|
||||||
}
|
}
|
||||||
|
|
||||||
QMap<QUuid,GraphicsProjectModelItem*> mapItems = allItems();
|
QMap<QUuid,GraphicsProjectModelItem*> mapItems = allItems();
|
||||||
|
bool updated = false;
|
||||||
for(auto& pItem:mapItems)
|
for(auto& pItem:mapItems)
|
||||||
{
|
{
|
||||||
BaseProperty* pData = dynamic_cast<BaseProperty*>(pItem->getProperty());
|
BaseProperty* pData = dynamic_cast<BaseProperty*>(pItem->getProperty());
|
||||||
|
|
@ -1213,8 +1216,11 @@ void FixedPortsModel::saveNode(int nPageId)
|
||||||
VariableProperty* pVariable = dynamic_cast<VariableProperty*>(pData);
|
VariableProperty* pVariable = dynamic_cast<VariableProperty*>(pData);
|
||||||
if(pVariable)
|
if(pVariable)
|
||||||
{
|
{
|
||||||
ModelDataInfo& dataInfo = pVariable->getPropertyValue();
|
bool useCatch = updated?true:false;
|
||||||
QString tempTag = pData->tag()+"_"+_pageName; //tag后加工程名使得全局唯一
|
ModelDataInfo& dataInfo = pVariable->getPropertyValue(useCatch);
|
||||||
|
if(updated == false)
|
||||||
|
updated = true;
|
||||||
|
QString tempTag = pData->tag()+"-"+_pageName+pData->getBay(); //tag后加工程名使得全局唯一
|
||||||
if(exist) //已存在更新
|
if(exist) //已存在更新
|
||||||
{
|
{
|
||||||
DataBase::GetInstance()->updateComponent(pData->uuid(),tempTag,pData->name(),pData->context(),pData->inService(),pData->state(),pData->status());
|
DataBase::GetInstance()->updateComponent(pData->uuid(),tempTag,pData->name(),pData->context(),pData->inService(),pData->state(),pData->status());
|
||||||
|
|
@ -1234,8 +1240,8 @@ void FixedPortsModel::saveNode(int nPageId)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
QString tempPath = pData->path()+"_"+_pageName;
|
QString tempPath = pData->path()+"-"+_pageName;
|
||||||
DataBase::GetInstance()->insertComponent(pData->uuid(),pData->modelName(),tempPath,tempTag,pData->name(),pData->description(),pData->grid(),pData->zone(),pData->station(),pData->type(),true,pData->state(),pData->status(),pData->connectedBus(),pData->label(),pData->context(),1);
|
DataBase::GetInstance()->insertComponent(pData->uuid(),pData->modelName(),tempPath,tempTag,pData->name(),pData->description(),pData->grid(),pData->zone(),pData->station(),pData->stationId(),pData->type(),true,pData->state(),pData->status(),pData->connectedBus(),pData->label(),pData->context(),1);
|
||||||
for(auto &val:dataInfo.groupInfo)
|
for(auto &val:dataInfo.groupInfo)
|
||||||
{
|
{
|
||||||
if(val.groupName == "component")
|
if(val.groupName == "component")
|
||||||
|
|
@ -1691,6 +1697,65 @@ DiagramCavas* FixedPortsModel::getCavas()
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FixedPortsModel::refreshConnection()
|
||||||
|
{
|
||||||
|
for(auto& item:_nodeItem){
|
||||||
|
auto pData = item->getProperty();
|
||||||
|
if(pData){
|
||||||
|
int nType = pData->type();
|
||||||
|
QUuid uid = pData->uuid();
|
||||||
|
if(nType == 8){ //是电缆
|
||||||
|
auto pLine = dynamic_cast<ElectricConnectLineItem*>(item);
|
||||||
|
if(pLine){
|
||||||
|
PowerConnection* pCon = TopologyManager::instance().connection(uid.toString(),ModelFunctionType::EditorModel);
|
||||||
|
if(pCon){
|
||||||
|
QString fromTerId = pCon->fromTerminalId();
|
||||||
|
QString toTerId = pCon->toTerminalId();
|
||||||
|
QString fromId = pCon->fromComponent();
|
||||||
|
QString toId = pCon->toComponent();
|
||||||
|
|
||||||
|
GraphicsProjectModelItem* pFromItem = _nodeItem.value(QUuid(fromId));
|
||||||
|
GraphicsProjectModelItem* pToItem = _nodeItem.value(QUuid(toId));
|
||||||
|
|
||||||
|
auto pFromData = pFromItem->getProperty();
|
||||||
|
auto pToData = pToItem->getProperty();
|
||||||
|
if(pFromData->type() == 1){ //from是母线
|
||||||
|
auto pToPort = pToItem->getPortById(toTerId);
|
||||||
|
QPointF p = calculateBusPortPos(pFromItem,pToItem,pToPort->scenePos());
|
||||||
|
pFromItem->movePort(fromTerId,pFromItem->mapFromScene(p));
|
||||||
|
}
|
||||||
|
else if(pToData->type() == 1){ //to是母线
|
||||||
|
auto pFromPort = pFromItem->getPortById(fromTerId);
|
||||||
|
QPointF p = calculateBusPortPos(pToItem,pFromItem,pFromPort->scenePos());
|
||||||
|
pToItem->movePort(toTerId,pToItem->mapFromScene(p));
|
||||||
|
}
|
||||||
|
|
||||||
|
auto portsFrom = pFromItem->getPorts();
|
||||||
|
auto portsTo = pToItem->getPorts();
|
||||||
|
|
||||||
|
ItemPort* pFrom = portsFrom.value(fromTerId);
|
||||||
|
ItemPort* pTo = portsTo.value(toTerId);
|
||||||
|
if(pFrom && pTo){ //更新连线起点终点位置
|
||||||
|
pLine->setStartPoint(pFrom->scenePos());
|
||||||
|
pLine->setEndPoint(pTo->scenePos());
|
||||||
|
pLine->calculatePath();
|
||||||
|
|
||||||
|
PowerTerminal* pTopoFrom = TopologyManager::instance().getTerminal(fromTerId,ModelFunctionType::EditorModel);
|
||||||
|
PowerTerminal* pTopoTo = TopologyManager::instance().getTerminal(toTerId,ModelFunctionType::EditorModel);
|
||||||
|
if(pTopoFrom && pTopoTo){
|
||||||
|
QPointF p1 = pFrom->pos();
|
||||||
|
QPointF p2 = pTo->pos();
|
||||||
|
pTopoFrom->setRelativePosition(p1);
|
||||||
|
pTopoTo->setRelativePosition(p2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void FixedPortsModel::updateTopologyLst()
|
void FixedPortsModel::updateTopologyLst()
|
||||||
{
|
{
|
||||||
QString sG;
|
QString sG;
|
||||||
|
|
@ -1834,9 +1899,9 @@ void FixedPortsModel::autoSetModelName(GraphicsBaseModelItem* pItem)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QString FixedPortsModel::removeSuffix(const QString& str)
|
QString FixedPortsModel::removeSuffix(const QString& str,QChar symbol)
|
||||||
{
|
{
|
||||||
int lastUnderscore = str.lastIndexOf('_');
|
int lastUnderscore = str.lastIndexOf(symbol);
|
||||||
if (lastUnderscore == -1) return str; // 没有下划线
|
if (lastUnderscore == -1) return str; // 没有下划线
|
||||||
|
|
||||||
return str.left(lastUnderscore);
|
return str.left(lastUnderscore);
|
||||||
|
|
@ -2149,6 +2214,8 @@ void FixedPortsModel::saveProject()
|
||||||
DataBase::GetInstance()->updatePage(sPage,sPage,context);
|
DataBase::GetInstance()->updatePage(sPage,sPage,context);
|
||||||
int pageId = DataBase::GetInstance()->getPageIdByName(sPage);
|
int pageId = DataBase::GetInstance()->getPageIdByName(sPage);
|
||||||
pPanel->saveNodes(pageId);
|
pPanel->saveNodes(pageId);
|
||||||
|
emit projectSaved(sPage,pageId);
|
||||||
|
QMessageBox::information(NULL, QString("提示"), QString::fromWCharArray(L"保存完成"));
|
||||||
}
|
}
|
||||||
/*********************baseModel**********************/
|
/*********************baseModel**********************/
|
||||||
|
|
||||||
|
|
@ -2246,12 +2313,16 @@ void FixedPortsModel::generateProjectModel(const QString& sPageName,QList<Graphi
|
||||||
QString sG;
|
QString sG;
|
||||||
QString sZ;
|
QString sZ;
|
||||||
QString sS;
|
QString sS;
|
||||||
|
int nStationId;
|
||||||
if(!lstGrid.isEmpty())
|
if(!lstGrid.isEmpty())
|
||||||
sG = lstGrid.first().tagname;
|
sG = lstGrid.first().tagname;
|
||||||
if(!lstZone.isEmpty())
|
if(!lstZone.isEmpty())
|
||||||
sZ = lstZone.first().tagname;
|
sZ = lstZone.first().tagname;
|
||||||
if(!lstStation.isEmpty())
|
if(!lstStation.isEmpty()){
|
||||||
sS = lstStation.first().tagname;
|
sS = lstStation.first().tagname;
|
||||||
|
nStationId = lstStation.first().id;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
for(auto& pBaseItem:lstItem) //先处理连线,递归处理连线连接的item
|
for(auto& pBaseItem:lstItem) //先处理连线,递归处理连线连接的item
|
||||||
{
|
{
|
||||||
|
|
@ -2266,7 +2337,8 @@ void FixedPortsModel::generateProjectModel(const QString& sPageName,QList<Graphi
|
||||||
pData->setGrid(sG);
|
pData->setGrid(sG);
|
||||||
pData->setZone(sZ);
|
pData->setZone(sZ);
|
||||||
pData->setStation(sS);
|
pData->setStation(sS);
|
||||||
addProjectItemByBaseData(pProPanel,pBaseItem,pData,sG,sZ,sS);
|
pData->setStationId(nStationId);
|
||||||
|
addProjectItemByBaseData(pProPanel,pBaseItem,pData,sG,sZ,sS,nStationId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2386,6 +2458,7 @@ void FixedPortsModel::generateProjectModel(const QString& sPageName,QList<Graphi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//refreshConnection();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FixedPortsModel::onWizardFinished(QMap<QUuid,GraphicsBaseModelItem*> mapItem,QList<EditBaseItem*> mapBlock)
|
void FixedPortsModel::onWizardFinished(QMap<QUuid,GraphicsBaseModelItem*> mapItem,QList<EditBaseItem*> mapBlock)
|
||||||
|
|
@ -2723,7 +2796,7 @@ void FixedPortsModel::onWizardFinished(QMap<QUuid,GraphicsBaseModelItem*> mapIte
|
||||||
emit updateTopologyItems(lstItem,false,false);
|
emit updateTopologyItems(lstItem,false,false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBaseModelItem* pItem,BaseProperty* pPro,QString sGrid,QString sZone,QString sStation)
|
void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBaseModelItem* pItem,BaseProperty* pPro,QString sGrid,QString sZone,QString sStation,int nStationId)
|
||||||
{
|
{
|
||||||
BaseModelProperty* pBase = dynamic_cast<BaseModelProperty*>(pItem->getProperty());
|
BaseModelProperty* pBase = dynamic_cast<BaseModelProperty*>(pItem->getProperty());
|
||||||
if(pBase){
|
if(pBase){
|
||||||
|
|
@ -2737,6 +2810,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
pPro->setSubList(pBase->getSubList()); //传递sublist
|
pPro->setSubList(pBase->getSubList()); //传递sublist
|
||||||
pPro->setBay(sBay);
|
pPro->setBay(sBay);
|
||||||
pPro->setVoltageLevel(pBase->getVoltageLevel());
|
pPro->setVoltageLevel(pBase->getVoltageLevel());
|
||||||
|
QMap<QString,ItemPort*> basePorts = pItem->getPorts();
|
||||||
|
|
||||||
int nBaseTypeId = BaseTypeManager::getInstance()->getIdByModelType(pBase->metaModelName());
|
int nBaseTypeId = BaseTypeManager::getInstance()->getIdByModelType(pBase->metaModelName());
|
||||||
|
|
||||||
|
|
@ -3035,7 +3109,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
{
|
{
|
||||||
if(pProItem){
|
if(pProItem){
|
||||||
PowerEntity* pEntity = TopologyManager::instance().createEntity(EntityType::Component,pPro->uuid().toString(),pBase->name());
|
PowerEntity* pEntity = TopologyManager::instance().createEntity(EntityType::Component,pPro->uuid().toString(),pBase->name());
|
||||||
QList<PowerTerminal*> lstBase = TopologyManager::instance().getTerminalsForEntity(pBase->uuid().toString(),ModelFunctionType::BaseModel); //获取基模的逻辑点
|
/*QList<PowerTerminal*> lstBase = TopologyManager::instance().getTerminalsForEntity(pBase->uuid().toString(),ModelFunctionType::BaseModel); //获取基模的逻辑点
|
||||||
for(auto& baseTer:lstBase)
|
for(auto& baseTer:lstBase)
|
||||||
{
|
{
|
||||||
QUuid uid = QUuid::createUuid();
|
QUuid uid = QUuid::createUuid();
|
||||||
|
|
@ -3046,7 +3120,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
proTer->setGenerateBy(baseTer->id());
|
proTer->setGenerateBy(baseTer->id());
|
||||||
if(proTer->type() == TerminalType::PowerConnect)
|
if(proTer->type() == TerminalType::PowerConnect)
|
||||||
{
|
{
|
||||||
pProItem->addPort(p_movable,proTer->relativePosition(),proTer->id());
|
pProItem->addPort(p_movable,pRelaPos,proTer->id(),T_lineInOut,PortPos(baseTer->getPortLocate()),dPerX,dPerY);
|
||||||
ItemPort* pPort = pProItem->getPortById(proTer->id());
|
ItemPort* pPort = pProItem->getPortById(proTer->id());
|
||||||
pPort->setSourcePortId(baseTer->id());
|
pPort->setSourcePortId(baseTer->id());
|
||||||
}
|
}
|
||||||
|
|
@ -3071,6 +3145,17 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
ItemPort* pPort = pProItem->getPortById(proTer->id());
|
ItemPort* pPort = pProItem->getPortById(proTer->id());
|
||||||
pPort->setSourcePortId(baseTer->id());
|
pPort->setSourcePortId(baseTer->id());
|
||||||
}
|
}
|
||||||
|
}*/
|
||||||
|
|
||||||
|
for(auto& pBasePort:basePorts){ //不使用拓扑携带的位置数据,由base数据直接派生
|
||||||
|
double dPerX = pBasePort->getXPercent();
|
||||||
|
double dPerY = pBasePort->getYPercent();
|
||||||
|
QPointF pRelaPos = pBasePort->pos();
|
||||||
|
PowerTerminal* proTer = TopologyManager::instance().createTerminal(pEntity->id(),TerminalType::PowerConnect,"",pRelaPos,pBasePort->getId(),ModelFunctionType::ProjectModel,dPerX,dPerY);
|
||||||
|
proTer->setGenerateBy(pBasePort->getId());
|
||||||
|
pProItem->addPort(p_movable,pRelaPos,proTer->id(),pBasePort->getType(),pBasePort->portPos(),dPerX,dPerY);
|
||||||
|
ItemPort* pPort = pProItem->getPortById(proTer->id());
|
||||||
|
pPort->setSourcePortId(pBasePort->getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
pProItem->setItemId(QUuid(pEntity->id()));
|
pProItem->setItemId(QUuid(pEntity->id()));
|
||||||
|
|
@ -3127,6 +3212,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
pData->setGrid(sGrid);
|
pData->setGrid(sGrid);
|
||||||
pData->setZone(sZone);
|
pData->setZone(sZone);
|
||||||
pData->setStation(sStation);
|
pData->setStation(sStation);
|
||||||
|
pData->setStationId(nStationId);
|
||||||
addProjectItemByBaseData(pPanel,pFromItem,pData);
|
addProjectItemByBaseData(pPanel,pFromItem,pData);
|
||||||
proFromItemId = id.toString();
|
proFromItemId = id.toString();
|
||||||
}
|
}
|
||||||
|
|
@ -3139,6 +3225,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
pData->setGrid(sGrid);
|
pData->setGrid(sGrid);
|
||||||
pData->setZone(sZone);
|
pData->setZone(sZone);
|
||||||
pData->setStation(sStation);
|
pData->setStation(sStation);
|
||||||
|
pData->setStationId(nStationId);
|
||||||
addProjectItemByBaseData(pPanel,pToItem,pData);
|
addProjectItemByBaseData(pPanel,pToItem,pData);
|
||||||
proToItemId = id.toString();
|
proToItemId = id.toString();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -417,12 +417,12 @@ bool ElectricConnectLineItem::isSegmentSafe(const QPointF& p1, const QPointF& p2
|
||||||
bool ElectricConnectLineItem::isPathSafe(const QList<QPointF>& path,
|
bool ElectricConnectLineItem::isPathSafe(const QList<QPointF>& path,
|
||||||
const QList<QRectF>& components)
|
const QList<QRectF>& components)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < path.size() - 1; i++) {
|
/*for (int i = 0; i < path.size() - 1; i++) {
|
||||||
if (!isSegmentSafe(path[i], path[i+1], components)) {
|
if (!isSegmentSafe(path[i], path[i+1], components)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
return true;
|
return true; //相交判断暂时屏蔽
|
||||||
}
|
}
|
||||||
|
|
||||||
// 检查线段是否穿透元件
|
// 检查线段是否穿透元件
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,12 @@ int GraphicsBaseItem::addPort(PortState typ,QPointF vec,QString id,HandleType hT
|
||||||
if(typ == p_movable)
|
if(typ == p_movable)
|
||||||
{
|
{
|
||||||
pPort->setType(T_lineInOut);
|
pPort->setType(T_lineInOut);
|
||||||
|
if(dXPercent || dYPercent)
|
||||||
|
{
|
||||||
|
pPort->setPortPos(pos);
|
||||||
|
pPort->setXPercent(dXPercent);
|
||||||
|
pPort->setYPercent(dYPercent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -34,71 +34,6 @@
|
||||||
<property name="bottomMargin">
|
<property name="bottomMargin">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
|
||||||
<widget class="QWidget" name="widget" native="true">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>25</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>16777215</width>
|
|
||||||
<height>25</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="styleSheet">
|
|
||||||
<string notr="true">QWidget {
|
|
||||||
background: #2c5282;
|
|
||||||
color: white;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
QWidget QLabel {
|
|
||||||
color: white;
|
|
||||||
font-size: 12px;
|
|
||||||
background: transparent;
|
|
||||||
}</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="bottomMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>-1</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="styleSheet">
|
|
||||||
<string notr="true"/>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>输入组态图名称</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="horizontalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Orientation::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>227</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QWidget" name="widget_2" native="true">
|
<widget class="QWidget" name="widget_2" native="true">
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ public:
|
||||||
bool deleteTopologic(QUuid fromPin,QUuid toPin);
|
bool deleteTopologic(QUuid fromPin,QUuid toPin);
|
||||||
/*********************************************************************************/
|
/*********************************************************************************/
|
||||||
bool updateComponent(QUuid uuid,QString tag,QString name,QJsonObject context,bool inService,int state,int status);
|
bool updateComponent(QUuid uuid,QString tag,QString name,QJsonObject context,bool inService,int state,int status);
|
||||||
bool insertComponent(QUuid uuid,QString modelName,QString nspath,QString tag,QString name,QString description,QString grid,QString zone,QString station,int type,bool inService,int state,int status,QJsonObject connected_bus,QJsonObject label,QJsonObject context,int op);
|
bool insertComponent(QUuid uuid,QString modelName,QString nspath,QString tag,QString name,QString description,QString grid,QString zone,QString station,int stationId,int type,bool inService,int state,int status,QJsonObject connected_bus,QJsonObject label,QJsonObject context,int op);
|
||||||
bool insertDynamicProperty(QUuid uuid,GroupStateValue groupValue);
|
bool insertDynamicProperty(QUuid uuid,GroupStateValue groupValue);
|
||||||
bool updateDynamicProperty(QUuid uuid,GroupStateValue groupValue);
|
bool updateDynamicProperty(QUuid uuid,GroupStateValue groupValue);
|
||||||
ComponentInfo getComponentInfoByUuid(QString uuid);
|
ComponentInfo getComponentInfoByUuid(QString uuid);
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ public:
|
||||||
void updateModelData(const QString& sModel,QUuid uuid,const QString& sGroup,QMap<QString,PropertyStateInfo> mapPro);
|
void updateModelData(const QString& sModel,QUuid uuid,const QString& sGroup,QMap<QString,PropertyStateInfo> mapPro);
|
||||||
|
|
||||||
ModleStateMap& modelState();
|
ModleStateMap& modelState();
|
||||||
ModelDataMap& modelData();
|
ModelDataMap& modelData(bool useCatch = false); //bool:使用缓存数据
|
||||||
private:
|
private:
|
||||||
ModleStateMap _modelStateInfo; //接收的模型结构信息(可直接返回引用)
|
ModleStateMap _modelStateInfo; //接收的模型结构信息(可直接返回引用)
|
||||||
ModelDataMap _modleDataInfo; //模型实时数据(使用接口获取数据)
|
ModelDataMap _modleDataInfo; //模型实时数据(使用接口获取数据)
|
||||||
|
|
|
||||||
|
|
@ -268,7 +268,7 @@ QSqlQuery DataBase::executeBatchSQL(const QStringList& sqlStatements, bool creat
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool DataBase::insertComponent(QUuid uuid,QString modelName,QString nspath,QString tag,QString name,QString description,QString grid,QString zone,QString station,int type,bool inService,int state,int status,QJsonObject connected_bus,QJsonObject label,QJsonObject context,int op)
|
bool DataBase::insertComponent(QUuid uuid,QString modelName,QString nspath,QString tag,QString name,QString description,QString grid,QString zone,QString station,int stationId,int type,bool inService,int state,int status,QJsonObject connected_bus,QJsonObject label,QJsonObject context,int op)
|
||||||
{
|
{
|
||||||
QSqlDatabase db = getDB();
|
QSqlDatabase db = getDB();
|
||||||
if(db.open())
|
if(db.open())
|
||||||
|
|
@ -278,7 +278,7 @@ bool DataBase::insertComponent(QUuid uuid,QString modelName,QString nspath,QStri
|
||||||
QJsonDocument contextDoc(context);
|
QJsonDocument contextDoc(context);
|
||||||
QString strCon = contextDoc.toJson(QJsonDocument::Compact);
|
QString strCon = contextDoc.toJson(QJsonDocument::Compact);
|
||||||
|
|
||||||
qry.prepare("INSERT INTO component(global_uuid, model_name, nspath, tag, name, grid, zone, station, type, in_service, state, status, context, op, ts) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
qry.prepare("INSERT INTO component(global_uuid, model_name, nspath, tag, name, grid, zone, station, station_id, type, in_service, state, status, context, op, ts) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
||||||
qry.bindValue(0,uuid);
|
qry.bindValue(0,uuid);
|
||||||
qry.bindValue(1,modelName);
|
qry.bindValue(1,modelName);
|
||||||
qry.bindValue(2,nspath);
|
qry.bindValue(2,nspath);
|
||||||
|
|
@ -287,13 +287,14 @@ bool DataBase::insertComponent(QUuid uuid,QString modelName,QString nspath,QStri
|
||||||
qry.bindValue(5,grid);
|
qry.bindValue(5,grid);
|
||||||
qry.bindValue(6,zone);
|
qry.bindValue(6,zone);
|
||||||
qry.bindValue(7,station);
|
qry.bindValue(7,station);
|
||||||
qry.bindValue(8,type);
|
qry.bindValue(8,stationId);
|
||||||
qry.bindValue(9,inService);
|
qry.bindValue(9,type);
|
||||||
qry.bindValue(10,state);
|
qry.bindValue(10,inService);
|
||||||
qry.bindValue(11,status);
|
qry.bindValue(11,state);
|
||||||
qry.bindValue(12,strCon);
|
qry.bindValue(12,status);
|
||||||
qry.bindValue(13,op);
|
qry.bindValue(13,strCon);
|
||||||
qry.bindValue(14,QDateTime::currentDateTime());
|
qry.bindValue(14,op);
|
||||||
|
qry.bindValue(15,QDateTime::currentDateTime());
|
||||||
bool res = qry.exec();
|
bool res = qry.exec();
|
||||||
QString str = qry.lastQuery();
|
QString str = qry.lastQuery();
|
||||||
const QVariantList list = qry.boundValues();
|
const QVariantList list = qry.boundValues();
|
||||||
|
|
|
||||||
|
|
@ -282,11 +282,14 @@ ModleStateMap& DataManager::modelState()
|
||||||
return _modelStateInfo;
|
return _modelStateInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
ModelDataMap& DataManager::modelData()
|
ModelDataMap& DataManager::modelData(bool useCatch)
|
||||||
{
|
{
|
||||||
if(!_dataInitialised)
|
if(!useCatch){
|
||||||
initialModelData();
|
if(!_dataInitialised)
|
||||||
else
|
initialModelData();
|
||||||
initialModelData(true);
|
else
|
||||||
|
initialModelData(true);
|
||||||
|
}
|
||||||
|
|
||||||
return _modleDataInfo;
|
return _modleDataInfo;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@ public slots:
|
||||||
void onIndexRbtnClicked(const QPoint &pos); //索引列表右键菜单
|
void onIndexRbtnClicked(const QPoint &pos); //索引列表右键菜单
|
||||||
void onItemChanged(QStandardItem *item);
|
void onItemChanged(QStandardItem *item);
|
||||||
void onItemClicked(const QModelIndex &index);
|
void onItemClicked(const QModelIndex &index);
|
||||||
|
void onPageSaved(const QString,int);
|
||||||
|
|
||||||
void onEditorRbtnClicked(const QPoint &pos); //editor右键菜单
|
void onEditorRbtnClicked(const QPoint &pos); //editor右键菜单
|
||||||
void onEditorDBClicked(QTreeWidgetItem* item, int column);
|
void onEditorDBClicked(QTreeWidgetItem* item, int column);
|
||||||
|
|
|
||||||
|
|
@ -199,6 +199,18 @@ void DiagramView::onItemClicked(const QModelIndex &index)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DiagramView::onPageSaved(const QString sPage,int id)
|
||||||
|
{
|
||||||
|
for (int row = 0; row < _pModel->rowCount(); ++row) {
|
||||||
|
QStandardItem *item = _pModel->item(row, 0);
|
||||||
|
if (item && item->data(Qt::DisplayRole) == sPage) {
|
||||||
|
QStandardItem* pItem = new QStandardItem(sPage);
|
||||||
|
pItem->setData(id,Qt::UserRole);
|
||||||
|
_pModel->appendRow(pItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void DiagramView::onEditorRbtnClicked(const QPoint &pos)
|
void DiagramView::onEditorRbtnClicked(const QPoint &pos)
|
||||||
{
|
{
|
||||||
QTreeWidgetItem *item = ui->treeWidget->itemAt(pos);
|
QTreeWidgetItem *item = ui->treeWidget->itemAt(pos);
|
||||||
|
|
|
||||||
|
|
@ -191,13 +191,13 @@ void CMainWindow::initializeAction()
|
||||||
connect(m_pDiagramView,&DiagramView::diagramSelected,m_pDiagramCavas,&DiagramCavas::onSignal_selectDiagram);
|
connect(m_pDiagramView,&DiagramView::diagramSelected,m_pDiagramCavas,&DiagramCavas::onSignal_selectDiagram);
|
||||||
connect(m_pDiagramView,&DiagramView::createProject,this,&CMainWindow::onAction_createEditor);
|
connect(m_pDiagramView,&DiagramView::createProject,this,&CMainWindow::onAction_createEditor);
|
||||||
connect(m_pDiagramCavas,&DiagramCavas::pannelSelected,m_pDiagramView,&DiagramView::onPanelActive);
|
connect(m_pDiagramCavas,&DiagramCavas::pannelSelected,m_pDiagramView,&DiagramView::onPanelActive);
|
||||||
|
connect(m_pDiagramCavas,&DiagramCavas::projectSaved,m_pDiagramView,&DiagramView::onPageSaved);
|
||||||
connect(m_pDiagramCavas,&DiagramCavas::prepareUpdateItems,m_pMonitorItemsDlg,&MonitorItemsDlg::onUpdateItems);
|
connect(m_pDiagramCavas,&DiagramCavas::prepareUpdateItems,m_pMonitorItemsDlg,&MonitorItemsDlg::onUpdateItems);
|
||||||
connect(m_pDiagramCavas,&DiagramCavas::prepareSelectItems,m_pMonitorItemsDlg,&MonitorItemsDlg::onSelectItems);
|
connect(m_pDiagramCavas,&DiagramCavas::prepareSelectItems,m_pMonitorItemsDlg,&MonitorItemsDlg::onSelectItems);
|
||||||
connect(m_pDiagramCavas,&DiagramCavas::updateMonitorList,m_pMonitorPagesDlg,&MonitorPagesDlg::onMonitorCreated);
|
connect(m_pDiagramCavas,&DiagramCavas::updateMonitorList,m_pMonitorPagesDlg,&MonitorPagesDlg::onMonitorCreated);
|
||||||
connect(m_pDiagramCavas,&DiagramCavas::createdMonitorItems,m_pMonitorItemsDlg,&MonitorItemsDlg::onMonitorCreated);
|
connect(m_pDiagramCavas,&DiagramCavas::createdMonitorItems,m_pMonitorItemsDlg,&MonitorItemsDlg::onMonitorCreated);
|
||||||
connect(m_pDiagramCavas,&DiagramCavas::updateMonitorTopology,m_pTopologyView,&TopologyView::onMonitorUpdate);
|
connect(m_pDiagramCavas,&DiagramCavas::updateMonitorTopology,m_pTopologyView,&TopologyView::onMonitorUpdate);
|
||||||
|
|
||||||
|
|
||||||
connect(m_pMonitorItemsDlg,&MonitorItemsDlg::generateMonitor,m_pDiagramCavas,&DiagramCavas::onSignal_generate);
|
connect(m_pMonitorItemsDlg,&MonitorItemsDlg::generateMonitor,m_pDiagramCavas,&DiagramCavas::onSignal_generate);
|
||||||
connect(m_pMonitorPagesDlg,&MonitorPagesDlg::monitorSelected,m_pDiagramCavas,&DiagramCavas::onSignal_monitorSelected);
|
connect(m_pMonitorPagesDlg,&MonitorPagesDlg::monitorSelected,m_pDiagramCavas,&DiagramCavas::onSignal_monitorSelected);
|
||||||
connect(m_pMonitorPagesDlg,&MonitorPagesDlg::prepareSaveMonitor,m_pDiagramCavas,&DiagramCavas::onSignal_saveMonitor);
|
connect(m_pMonitorPagesDlg,&MonitorPagesDlg::prepareSaveMonitor,m_pDiagramCavas,&DiagramCavas::onSignal_saveMonitor);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue