From 23527be14b69fef248e41b573fdedd486407878d Mon Sep 17 00:00:00 2001 From: baiYue Date: Tue, 16 Jun 2026 09:45:51 +0800 Subject: [PATCH] update version --- common/core_model/topology.h | 3 +- common/core_model/types.cpp | 24 ++++++--- common/core_model/types.h | 8 +-- common/include/baseProperty.h | 2 +- common/source/baseProperty.cpp | 4 +- diagramCavas/CMakeLists.txt | 4 +- diagramCavas/include/cornerMonitorLauncher.h | 2 +- diagramCavas/include/diagramCavas_p.h | 1 + .../graphicsDataModel/fixedPortsModel.h | 2 +- diagramCavas/include/graphicsItem/addSymbol.h | 22 ++++++++ diagramCavas/include/monitorPanel.h | 2 + diagramCavas/source/cornerMonitorLauncher.cpp | 4 +- diagramCavas/source/diagramCavas.cpp | 1 + diagramCavas/source/diagramCavas_p.cpp | 13 ++++- .../graphicsDataModel/fixedPortsModel.cpp | 18 +++---- .../source/graphicsItem/addSymbol.cpp | 54 +++++++++++++++++++ .../source/graphicsItem/graphicsBaseItem.cpp | 2 +- diagramCavas/source/monitorPanel.cpp | 5 ++ diagramCavas/source/topologyManager.cpp | 10 ++++ diagramUtils/include/dataManager.h | 2 +- diagramUtils/source/dataBase.cpp | 2 +- diagramUtils/source/dataManager.cpp | 13 +++-- source/electricElementsBox.cpp | 4 +- source/mainwindow.cpp | 5 +- 24 files changed, 164 insertions(+), 43 deletions(-) create mode 100644 diagramCavas/include/graphicsItem/addSymbol.h create mode 100644 diagramCavas/source/graphicsItem/addSymbol.cpp diff --git a/common/core_model/topology.h b/common/core_model/topology.h index dcdba36..34cbdc9 100644 --- a/common/core_model/topology.h +++ b/common/core_model/topology.h @@ -33,7 +33,8 @@ enum HandleType T_lineIn, //入线口 T_lineOut, //出线口 T_lineInOut, //双端线 - T_newTral //中性点 + T_newTral, //中性点 + T_addSymbol //扩展标志 }; struct Connection diff --git a/common/core_model/types.cpp b/common/core_model/types.cpp index 3f53f31..5caf408 100644 --- a/common/core_model/types.cpp +++ b/common/core_model/types.cpp @@ -1,9 +1,21 @@ #include "types.h" -const QMap linkType = { - {AIT_motor,GIT_itemRect},{AIT_bus,GIT_bus}, - }; +const QMap& getLinkType() { + static const QMap linkType = { + {AIT_motor, GIT_itemRect}, + {AIT_bus, GIT_bus}, + }; + return linkType; +} + //类型转换 -const QMap typeToProGraphic = { - {0,GIT_node},{1,GIT_bus},{3,GIT_itemRect},{4,GIT_ctGroup},{5,GIT_ptGroup},{6,GIT_ES},{7,GIT_FES},{8,GIT_link},{9,GIT_DS},{10,GIT_DTEDS},{11,GIT_PI},{12,GIT_LA},{13,GIT_cableTer},{14,GIT_cableEnd},{15,GIT_2wTransformer},{16,GIT_3wTransformer} -}; +const QMap& getTypeToProGraphic() { + static const QMap typeToProGraphic = { + {0, GIT_node}, {1, GIT_bus}, {3, GIT_itemRect}, {4, GIT_ctGroup}, + {5, GIT_ptGroup}, {6, GIT_ES}, {7, GIT_FES}, {8, GIT_link}, + {9, GIT_DS}, {10, GIT_DTEDS}, {11, GIT_PI}, {12, GIT_LA}, + {13, GIT_cableTer}, {14, GIT_cableEnd}, {15, GIT_2wTransformer}, + {16, GIT_3wTransformer} + }; + return typeToProGraphic; +} diff --git a/common/core_model/types.h b/common/core_model/types.h index ef8c672..92c9b62 100644 --- a/common/core_model/types.h +++ b/common/core_model/types.h @@ -35,7 +35,7 @@ enum GraphicsItemType GIT_3wTransformer= QGraphicsItem::UserType + 67, GIT_node= QGraphicsItem::UserType + 79, GIT_bay= QGraphicsItem::UserType + 80, //间隔 - + GIT_CustomType= QGraphicsItem::UserType + 81, //自定义(工程模) GIT_Image = QGraphicsItem::UserType + 110, //图形item GIT_Text = QGraphicsItem::UserType + 111, //文本item @@ -173,7 +173,9 @@ enum class ComponentType { CableEnd = 14 // 电缆端 }; -extern const QMap linkType; +//extern const QMap linkType; +extern const QMap& getLinkType(); //类型转换 -extern const QMap typeToProGraphic; +//extern const QMap typeToProGraphic; +extern const QMap& getTypeToProGraphic(); #endif diff --git a/common/include/baseProperty.h b/common/include/baseProperty.h index 3846452..17560e3 100644 --- a/common/include/baseProperty.h +++ b/common/include/baseProperty.h @@ -235,6 +235,6 @@ public: VariableProperty(QObject* parent = nullptr); ~VariableProperty(); - ModelDataInfo& getPropertyValue() const; + ModelDataInfo& getPropertyValue(bool useCatch = false) const; }; #endif // DATABASE_H diff --git a/common/source/baseProperty.cpp b/common/source/baseProperty.cpp index 7cfbc62..a602b80 100644 --- a/common/source/baseProperty.cpp +++ b/common/source/baseProperty.cpp @@ -101,7 +101,7 @@ VariableProperty::~VariableProperty() } -ModelDataInfo& VariableProperty::getPropertyValue() const +ModelDataInfo& VariableProperty::getPropertyValue(bool useCatch) const { - return DataManager::instance().modelData()[sModelName]; + return DataManager::instance().modelData(useCatch)[sModelName]; } diff --git a/diagramCavas/CMakeLists.txt b/diagramCavas/CMakeLists.txt index d459630..fd25cb3 100644 --- a/diagramCavas/CMakeLists.txt +++ b/diagramCavas/CMakeLists.txt @@ -61,8 +61,8 @@ set(DIAGRAMCAVAS_HEADER_FILES include/graphicsDataModel/baseModel.h include/graphicsDataModel/fixedPortsModel.h include/graphicsItem/graphicsItemGroup.h - #include/graphicsItem/graphicsPolygonItem.h include/graphicsItem/handleRect.h + include/graphicsItem/addSymbol.h include/graphicsItem/handleText.h include/graphicsItem/itemPort.h include/graphicsItem/itemExtend.h @@ -208,8 +208,8 @@ set(DIAGRAMCAVAS_SOURCE_FILES source/graphicsDataModel/baseModel.cpp source/graphicsDataModel/fixedPortsModel.cpp source/graphicsItem/graphicsItemGroup.cpp - #source/graphicsItem/graphicsPolygonItem.cpp source/graphicsItem/handleRect.cpp + source/graphicsItem/addSymbol.cpp source/graphicsItem/handleText.cpp source/graphicsItem/itemPort.cpp source/graphicsItem/itemExtend.cpp diff --git a/diagramCavas/include/cornerMonitorLauncher.h b/diagramCavas/include/cornerMonitorLauncher.h index 323b480..44430cf 100644 --- a/diagramCavas/include/cornerMonitorLauncher.h +++ b/diagramCavas/include/cornerMonitorLauncher.h @@ -10,7 +10,7 @@ class CornerMonitorLauncher : public QWidget { Q_OBJECT public: - CornerMonitorLauncher(QMdiArea *parent = nullptr); + CornerMonitorLauncher(QWidget* parent = nullptr,QMdiArea *mdi = nullptr); ~CornerMonitorLauncher(); void showDlg(); diff --git a/diagramCavas/include/diagramCavas_p.h b/diagramCavas/include/diagramCavas_p.h index 58ae7ec..b151c87 100644 --- a/diagramCavas/include/diagramCavas_p.h +++ b/diagramCavas/include/diagramCavas_p.h @@ -118,6 +118,7 @@ public: void createHMIClickedImpl(const QString& sHMI, const QString& sStructPage, int modelType); bool createHMIDiagram(const QString& sHMI, int modelType, QUuid& outId, PowerEntity*& outEntity); bool loadStructureToPanel(const QString& panelName, const QString& sStructPage); + void autoExtendMode(); //自动扩展模式 private: DiagramCavas* q_ptr; // 指向公共接口的指针 QSet m_modifiedPages; // 记录修改过的页面 diff --git a/diagramCavas/include/graphicsDataModel/fixedPortsModel.h b/diagramCavas/include/graphicsDataModel/fixedPortsModel.h index 8a9014f..d6a488f 100644 --- a/diagramCavas/include/graphicsDataModel/fixedPortsModel.h +++ b/diagramCavas/include/graphicsDataModel/fixedPortsModel.h @@ -187,7 +187,7 @@ public Q_SLOTS: private: void addPortsToItem_json(PortState,QJsonArray,GraphicsBaseItem*); //将json格式的port添加到item void autoSetModelName(GraphicsBaseModelItem*); //如果此页的工程模已被设置,将projectName更新到item - QString removeSuffix(const QString& str); //移除最后一个下划线后的内容 (处理各种tag后缀) + QString removeSuffix(const QString& str,QChar symbol = '_'); //移除最后一个下划线后的内容 (处理各种tag后缀) ModelProperty* getItemByUid(QList,QUuid); //返回uid对应的data void updateMonitor(QMap>); //使用当前数据更新运行时 void assignMeasureSymmetry(QMap& measurementMap); //设置量测中互为double的name diff --git a/diagramCavas/include/graphicsItem/addSymbol.h b/diagramCavas/include/graphicsItem/addSymbol.h new file mode 100644 index 0000000..5eb9e2b --- /dev/null +++ b/diagramCavas/include/graphicsItem/addSymbol.h @@ -0,0 +1,22 @@ +#ifndef ADDSYMBOL_H +#define ADDSYMBOL_H + +/**********智能扩展模式中的加号**********/ +#include "graphicsItem/itemControlHandle.h" + +class AddSymbol : public ItemControlHandle +{ + Q_OBJECT +public: + AddSymbol(QGraphicsItem *parent); + virtual ~AddSymbol(); +protected: + virtual void hoverEnterEvent(QGraphicsSceneHoverEvent*) override; + virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent*) override; + virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override; + virtual QRectF boundingRect() const override; +private: + bool m_hovered = false; +}; + +#endif diff --git a/diagramCavas/include/monitorPanel.h b/diagramCavas/include/monitorPanel.h index f7585b8..bc0f4a7 100644 --- a/diagramCavas/include/monitorPanel.h +++ b/diagramCavas/include/monitorPanel.h @@ -38,6 +38,8 @@ public: MonitorConfigDlg* getMonitorConfigDlg() {return _pConfigDlg;} void setToobarlVisible(bool); //设置运行模式 + + void changeScalableItemState(bool); //改变扩展item的显示状态 public: //对层级关系的序列化与反序列化 QJsonArray serializeRelationToJsonArray(const QList& data) const; diff --git a/diagramCavas/source/cornerMonitorLauncher.cpp b/diagramCavas/source/cornerMonitorLauncher.cpp index a8d4c4e..aaaa228 100644 --- a/diagramCavas/source/cornerMonitorLauncher.cpp +++ b/diagramCavas/source/cornerMonitorLauncher.cpp @@ -4,9 +4,9 @@ #include #include -CornerMonitorLauncher::CornerMonitorLauncher(QMdiArea* parent) +CornerMonitorLauncher::CornerMonitorLauncher(QWidget* parent,QMdiArea* mdi) : QWidget(parent) - ,m_mdiArea(parent) + ,m_mdiArea(mdi) { setFixedSize(48, 48); setWindowFlags(Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); diff --git a/diagramCavas/source/diagramCavas.cpp b/diagramCavas/source/diagramCavas.cpp index 73210ee..f4c0605 100644 --- a/diagramCavas/source/diagramCavas.cpp +++ b/diagramCavas/source/diagramCavas.cpp @@ -166,6 +166,7 @@ void DiagramCavas::onSignal_extendClick(bool bCheck) { Q_D(DiagramCavas); d->_operateMode = bCheck?1:0; + d->autoExtendMode(); } void DiagramCavas::onSignal_activatePage(const QString& name) diff --git a/diagramCavas/source/diagramCavas_p.cpp b/diagramCavas/source/diagramCavas_p.cpp index 3fa945f..8f5efc8 100644 --- a/diagramCavas/source/diagramCavas_p.cpp +++ b/diagramCavas/source/diagramCavas_p.cpp @@ -91,7 +91,7 @@ void DiagramCavasPrivate::initialImpl() } // 2. 初始化角落监控启动器 - _cornerButton = new CornerMonitorLauncher(m_mdiArea); + _cornerButton = new CornerMonitorLauncher(nullptr,m_mdiArea); _cornerButton->showDlg(); //LOG_INFO("CanvasIni", QString("Insert bay fail")); @@ -1304,3 +1304,14 @@ bool DiagramCavasPrivate::loadStructureToPanel(const QString& panelName, const Q return true; } + +void DiagramCavasPrivate::autoExtendMode() +{ + if(m_mapMonitorPanel.contains(_curPage)) + { + auto pPanel = m_mapMonitorPanel.value(_curPage).first; + pPanel->changeScalableItemState(_operateMode); + } + else + qDebug() <<"page" << _curPage << "not found"; +} diff --git a/diagramCavas/source/graphicsDataModel/fixedPortsModel.cpp b/diagramCavas/source/graphicsDataModel/fixedPortsModel.cpp index dfb649b..26342e4 100644 --- a/diagramCavas/source/graphicsDataModel/fixedPortsModel.cpp +++ b/diagramCavas/source/graphicsDataModel/fixedPortsModel.cpp @@ -821,7 +821,7 @@ BaseProperty* FixedPortsModel::addNodeData(QUuid id,int type,QString name,QStrin item->setUuid(id); item->setModelName(modelName); item->setType(type); - GraphicsItemType localType = typeToProGraphic[type]; //将通用类型转换为工程模图元 + GraphicsItemType localType = getTypeToProGraphic().value(type); //将通用类型转换为工程模图元 item->setGraphicsType(localType); item->setTag(name); item->setName(name); @@ -1080,7 +1080,7 @@ void FixedPortsModel::saveNode(int nPageId) BayProperty* pBay = dynamic_cast(pro); if(pBay){ bool val = DataBase::GetInstance()->ifBayExist(pBay->uuid()); - QString tempTag = pBay->tag()+"_"+_pageName; //tag后加工程名保持全局唯一 + QString tempTag = pBay->tag()+"-"+_pageName; //tag后加工程名保持全局唯一 if(!val){ QJsonObject objFrom = turnListToJson(pBay->getLstFrom(),"id","ids"); QJsonObject objTo= turnListToJson(pBay->getLstTo(),"id","ids"); @@ -1218,7 +1218,7 @@ void FixedPortsModel::saveNode(int nPageId) objBinding[info.sWindType] = objWind; } - QString tempMeasure = info.tag+"_"+_pageName; //tag后加工程名,保持全局唯一 + QString tempMeasure = info.tag+"-"+_pageName; //tag后加工程名,保持全局唯一 bool val = DataBase::GetInstance()->ifBayMeasureExist(info.name,pBay->uuid()); if(val){ @@ -1331,8 +1331,8 @@ void FixedPortsModel::saveNode(int nPageId) VariableProperty* pVariable = dynamic_cast(pData); if(pVariable) { - ModelDataInfo& dataInfo = pVariable->getPropertyValue(); - QString tempTag = pData->tag()+"_"+_pageName; //tag后加工程名使得全局唯一 + ModelDataInfo& dataInfo = pVariable->getPropertyValue(true); + QString tempTag = pData->tag()+"-"+_pageName; //tag后加工程名使得全局唯一 if(exist) //已存在更新 { DataBase::GetInstance()->updateComponent(pData->uuid(),tempTag,pData->name(),pData->context(),pData->inService(),pData->state(),pData->status()); @@ -1352,7 +1352,7 @@ void FixedPortsModel::saveNode(int nPageId) } 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); for(auto &val:dataInfo.groupInfo) { @@ -1530,7 +1530,7 @@ void FixedPortsModel::saveNode(int nPageId) objBinding[info.sWindType] = objWind; } - QString tempMeasure = info.tag+"_"+_pageName; //tag后加工程名,保持全局唯一 + QString tempMeasure = info.tag+"-"+_pageName; //tag后加工程名,保持全局唯一 bool val = DataBase::GetInstance()->ifMeasureExist(info.name,pData->uuid()); if(val){ @@ -1879,9 +1879,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; // 没有下划线 return str.left(lastUnderscore); diff --git a/diagramCavas/source/graphicsItem/addSymbol.cpp b/diagramCavas/source/graphicsItem/addSymbol.cpp new file mode 100644 index 0000000..39bddf4 --- /dev/null +++ b/diagramCavas/source/graphicsItem/addSymbol.cpp @@ -0,0 +1,54 @@ +#include "graphicsItem/addSymbol.h" +#include + +AddSymbol::AddSymbol(QGraphicsItem *parent) + :ItemControlHandle(parent) +{ + +} + +AddSymbol::~AddSymbol() +{ +} + +QRectF AddSymbol::boundingRect() const +{ + return QRectF(-10,-10,20,20); +} + +void AddSymbol::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) +{ + Q_UNUSED(option) + Q_UNUSED(widget) + + painter->setRenderHint(QPainter::Antialiasing); + + // 画笔 + QPen pen(m_hovered ? Qt::yellow : Qt::blue); + pen.setWidth(m_hovered ? 2 : 1); + pen.setWidth(1); + painter->setPen(pen); + + // 画圆 + QRectF circleRect(-8, -8, 16, 16); + painter->drawEllipse(circleRect); + + // 画十字 + int len = 5; + painter->drawLine(0, -len, 0, len); // 竖线 + painter->drawLine(-len, 0, len, 0); // 横线 +} + +void AddSymbol::hoverEnterEvent(QGraphicsSceneHoverEvent* event) +{ + m_hovered = true; + update(); + ItemControlHandle::hoverEnterEvent(event); +} + +void AddSymbol::hoverLeaveEvent(QGraphicsSceneHoverEvent* event) +{ + m_hovered = false; + update(); + ItemControlHandle::hoverLeaveEvent(event); +} diff --git a/diagramCavas/source/graphicsItem/graphicsBaseItem.cpp b/diagramCavas/source/graphicsItem/graphicsBaseItem.cpp index 4b49dc6..bf4958f 100644 --- a/diagramCavas/source/graphicsItem/graphicsBaseItem.cpp +++ b/diagramCavas/source/graphicsItem/graphicsBaseItem.cpp @@ -578,7 +578,7 @@ GraphicsProjectModelItem::GraphicsProjectModelItem(QGraphicsItem *parent) pVoltage->setParent(this); m_vecHanle.insert(h_textVoltage,pVoltage);*/ - setFlag(QGraphicsItem::ItemIsMovable, true); + //setFlag(QGraphicsItem::ItemIsMovable, true); setFlag(QGraphicsItem::ItemIsSelectable, true); setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); diff --git a/diagramCavas/source/monitorPanel.cpp b/diagramCavas/source/monitorPanel.cpp index 55ad1e6..360f478 100644 --- a/diagramCavas/source/monitorPanel.cpp +++ b/diagramCavas/source/monitorPanel.cpp @@ -920,6 +920,11 @@ void MonitorPanel::setToobarlVisible(bool b) _toolBar->setVisible(false); } +void MonitorPanel::changeScalableItemState(bool b) +{ + +} + void MonitorPanel::initDisplaySetting() { auto stateMap = _pModel->getMonitorStateMap(); diff --git a/diagramCavas/source/topologyManager.cpp b/diagramCavas/source/topologyManager.cpp index eaf0570..cc2bcc1 100644 --- a/diagramCavas/source/topologyManager.cpp +++ b/diagramCavas/source/topologyManager.cpp @@ -19,6 +19,16 @@ TopologyManager::~TopologyManager() { void TopologyManager::clearAllData() { + // 清理 diagrams(新增) + qDeleteAll(m_diagrams); + m_diagrams.clear(); + + qDeleteAll(m_baseDiagrams); + m_baseDiagrams.clear(); + + qDeleteAll(m_monitorDiagrams); + m_monitorDiagrams.clear(); + // 删除所有连接 qDeleteAll(m_connections); m_connections.clear(); diff --git a/diagramUtils/include/dataManager.h b/diagramUtils/include/dataManager.h index 186897f..a5aaa45 100644 --- a/diagramUtils/include/dataManager.h +++ b/diagramUtils/include/dataManager.h @@ -27,7 +27,7 @@ public: void updateModelData(const QString& sModel,QUuid uuid,const QString& sGroup,QMap mapPro); ModleStateMap& modelState(); - ModelDataMap& modelData(); + ModelDataMap& modelData(bool useCatch = false); private: ModleStateMap _modelStateInfo; //接收的模型结构信息(可直接返回引用) ModelDataMap _modleDataInfo; //模型实时数据(使用接口获取数据) diff --git a/diagramUtils/source/dataBase.cpp b/diagramUtils/source/dataBase.cpp index 1b18d66..70d21cd 100644 --- a/diagramUtils/source/dataBase.cpp +++ b/diagramUtils/source/dataBase.cpp @@ -277,7 +277,7 @@ bool DataBase::updateComponent(QUuid uuid,QString tag,QString name,QJsonObject c QJsonDocument contextDoc(context); QString strCon = contextDoc.toJson(QJsonDocument::Compact); - qry.prepare("UPDATE component SET tag=?, name=?, context=?, ts=? ,in_service=?,state=?,status=?WHERE global_uuid=?"); + qry.prepare("UPDATE component SET tag=?, name=?, context=?, ts=? ,in_service=?,state=?,status=? WHERE global_uuid=?"); qry.bindValue(0,tag); qry.bindValue(1,name); qry.bindValue(2,strCon); diff --git a/diagramUtils/source/dataManager.cpp b/diagramUtils/source/dataManager.cpp index 6040698..4cf07cb 100644 --- a/diagramUtils/source/dataManager.cpp +++ b/diagramUtils/source/dataManager.cpp @@ -282,11 +282,14 @@ ModleStateMap& DataManager::modelState() return _modelStateInfo; } -ModelDataMap& DataManager::modelData() +ModelDataMap& DataManager::modelData(bool useCatch) { - if(!_dataInitialised) - initialModelData(); - else - initialModelData(true); + if(!useCatch){ + if(!_dataInitialised) + initialModelData(); + else + initialModelData(true); + } + return _modleDataInfo; } diff --git a/source/electricElementsBox.cpp b/source/electricElementsBox.cpp index 18f664a..5837455 100644 --- a/source/electricElementsBox.cpp +++ b/source/electricElementsBox.cpp @@ -32,7 +32,7 @@ void ElectricElementsBox::addPanelItems(const QString& sPanel) for(auto &model:_modelInfo) { - GraphicsItemType localType = linkType[(AbstractItemType)model.modelType]; + GraphicsItemType localType = getLinkType().value((AbstractItemType)model.modelType); model.modelType = localType; //转换图元类别,从字典表转到内部类别 } @@ -58,7 +58,7 @@ void ElectricElementsBox::updateModelList() { for(auto &model:_modelInfo) { - GraphicsItemType localType = linkType[(AbstractItemType)model.modelType]; + GraphicsItemType localType = getLinkType().value((AbstractItemType)model.modelType); model.modelType = localType; } diff --git a/source/mainwindow.cpp b/source/mainwindow.cpp index d7e0587..f75ee35 100644 --- a/source/mainwindow.cpp +++ b/source/mainwindow.cpp @@ -24,7 +24,6 @@ #include "diagramView.h" #include "projectModelManager.h" #include "monitorItemsDlg.h" -#include "monitorPagesDlg.h" #include "QDetailsView.h" #include "baseDockWidget.h" #include "configToolBar.h" @@ -60,9 +59,7 @@ CMainWindow::~CMainWindow() if(m_pElectricElementsBox) delete m_pElectricElementsBox; if(m_pPropertiesEditorView){ - auto pView = m_pPropertiesEditorView->getQuickDetailsView(); - delete pView; - delete m_pPropertiesEditorView; + m_pPropertiesEditorView->deleteLater(); } if(m_pRuntimeDlg) delete m_pRuntimeDlg;