diff --git a/logPlus/PickFrac.cpp b/logPlus/PickFrac.cpp index e7eaae2..0a00adf 100644 --- a/logPlus/PickFrac.cpp +++ b/logPlus/PickFrac.cpp @@ -1328,3 +1328,38 @@ bool CPickFrac::setBlackColor(bool bbk) return true; } +//刷新 +void CPickFrac::RefreshItems() +{ + //qDeleteAll(m_items);//会崩 + // 如果没有裂缝,清空表记录 + if (m_items.isEmpty()) { + + } + else + { + for (DraggableCrackItem* item : m_items) + { + if (!item) continue; + // + if (m_items.removeOne(item)) { + // 立即从画布移除所有图形项 + item->cleanupFromPlot(); + // 失活并清空静态指针 + if (DraggableCrackItem::getActiveItem() == item) { + item->deactivate(); + } + // 断开信号 + disconnect(item, nullptr, this, nullptr); + // 直接删除,不再延迟 + delete item; + } + } + } + ReadData(m_currentSlfName, m_currentTableName); + // 强制重绘 + if(m_myCustomPlot) + { + m_myCustomPlot->replot(); + } +} diff --git a/logPlus/PickFrac.h b/logPlus/PickFrac.h index 13cfb55..6f10e2d 100644 --- a/logPlus/PickFrac.h +++ b/logPlus/PickFrac.h @@ -79,6 +79,8 @@ public: void ReadData(QString strSlfName, QString csCurve); void drawOne(FRAC_TABLE_Crack frac, int iType, int nLineWidth, QColor crColor, QString csName); + //刷新 + void RefreshItems(); protected: bool eventFilter(QObject *watched, QEvent *event) override; diff --git a/logPlus/PropertyWidget.cpp b/logPlus/PropertyWidget.cpp index c2b083f..197509e 100644 --- a/logPlus/PropertyWidget.cpp +++ b/logPlus/PropertyWidget.cpp @@ -4673,7 +4673,7 @@ void PropertyWidget::changedDepthProperty(QString strProperty, QVariant varVal) void PropertyWidget::initCrackProperty(FormInfo *formInfo) { - _CreateVariantPropertyItem("数据", "井文件", formInfo->m_strSlfName, QVariant::String); + _CreateVariantPropertyItem("数据", "井文件", formInfo->m_strLineName + "@" + formInfo->m_strSlfName, QVariant::String); _CreateVariantPropertyItem("数据", "显示名称", formInfo->m_strAliasName, QVariant::String); _CreateVariantPropertyItem("数据", "井眼直径", formInfo->m_crack_boreholeDiameter, QVariant::Double); QStringList listType; diff --git a/logPlus/formdraw.cpp b/logPlus/formdraw.cpp index e7d24b7..36f5a43 100644 --- a/logPlus/formdraw.cpp +++ b/logPlus/formdraw.cpp @@ -5602,7 +5602,7 @@ void FormDraw::initJykt(QMyCustomPlot *widget, QString strSlfName, QString strLi //道-对象 FormInfo* pInfo = m_formTrack->AddKedouAndOthers(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "JyktObject", listOtherProperty); - //杆状图 + //井眼垮塌矢量图 widget->Draw_Jykt(); } @@ -5658,7 +5658,7 @@ void FormDraw::initDenv(QMyCustomPlot *widget, QString strSlfName, QString strLi //道-对象 FormInfo* pInfo = m_formTrack->AddKedouAndOthers(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "DenvObject", listOtherProperty); - //杆状图 + //井斜方位图 widget->Draw_Denv(); } diff --git a/logPlus/forminfo.cpp b/logPlus/forminfo.cpp index 578d1a7..69bede3 100644 --- a/logPlus/forminfo.cpp +++ b/logPlus/forminfo.cpp @@ -3152,6 +3152,14 @@ void FormInfo::contextMenuEvent(QContextMenuEvent *event) menu.addAction(QIcon(::GetImagePath() + "icon/Delete.png"), "删除当前对象", this, &FormInfo::onDeleteWave); menu.exec(event->globalPos()); } + else if(m_strType=="CrackObject") + { + //裂缝 + QMenu menu(this); + menu.addAction(QIcon(::GetImagePath() + "icon/Sheet.png"), "数据对象查看", this, &FormInfo::onShowTable); + menu.addAction(QIcon(::GetImagePath() + "icon/Delete.png"), "删除当前对象", this, &FormInfo::onDeleteTable); + menu.exec(event->globalPos()); + } } //曲线数据查看 diff --git a/logPlus/qmycustomplot.cpp b/logPlus/qmycustomplot.cpp index 0b16ac8..37f7567 100644 --- a/logPlus/qmycustomplot.cpp +++ b/logPlus/qmycustomplot.cpp @@ -221,7 +221,7 @@ QMyCustomPlot::QMyCustomPlot(QWidget *parent, QString strSlfName, QString strWel connect(CallManage::getInstance(), SIGNAL(sig_changeDepthProperty(QVariantList)), this, SLOT(s_changeDepthProperty(QVariantList))); - // 频率统计图属性修改 + // 裂缝属性修改 connect(CallManage::getInstance(), SIGNAL(sig_changeCrackProperty(QString)), this, SLOT(s_changeCrackProperty(QString))); // 频率统计图属性修改 @@ -5310,6 +5310,17 @@ void QMyCustomPlot::s_Refresh_All(QString strUuid, QString strSlfName, QString s return; } + if(m_strType == "") + { + FormInfo* pInfo = m_formTrack->getFormInfoByParameters(m_strUuid, m_strWellName, m_strTrackName, m_strLineName); + if (pInfo == NULL) + { + return; + } + m_strType = pInfo->m_strType; + } + + //曲线 if(m_addRandomGraph && m_strLineName != "CORE_PHYSICS") { @@ -5351,37 +5362,90 @@ void QMyCustomPlot::s_Refresh_All(QString strUuid, QString strSlfName, QString s // 岩心分析 refreshCorePhysics(); } - - // - FormInfo* pInfo = m_formTrack->getFormInfoByParameters(m_strUuid, m_strWellName, m_strTrackName, m_strLineName); - if (pInfo == NULL) + else if (m_strLineName == "FRAC_HOLE.TABLE") { - return; + // 蝌蚪图 + if (m_strType == "tableObject") + { + //绘制蝌蚪图 + Draw_Kedou(); + } } - QString strType = pInfo->m_strType; - if (strType == "JiegutextObject") + + if (m_strType == "JiegutextObject") { //气测/FMT/射孔/文本 RefreshItems_Jiegutext(); } - else if (strType == "gujingObject") + else if (m_strType == "gujingObject") { //固井 RefreshItems_Gujing(); } - else if (strType == "LogfaceObject") + else if (m_strType == "LogfaceObject") { //沉积相 RefreshItems_Fac(true); //刷新数据 } - else if (strType == "TubingstringObject") + else if (m_strType == "TubingstringObject") { //套管组件 RefreshItems_Tubing(); } - else if (strType == "CrackObject") + else if (m_strType == "CrackObject") { // 裂缝 + m_cPickFrac->RefreshItems(); + } + else if (m_strType == "ganzhuangtuObject") + { + // 杆状图 + //绘制杆状图 + Draw_Ganzhuang(); + } + else if (m_strType == "JyktObject") + { + // 井眼垮塌矢量图 + //绘制井眼垮塌矢量图 + Draw_Jykt(); + } + else if (m_strType == "DenvObject") + { + // 井斜方位图 + //绘制井斜方位图 + Draw_Denv(); + } + else if (m_strType == "SantuyibiaoObject") + { + // 斜井三图一表属性 + } + else if (m_strType == "plObject") + { + // 频率统计图 + } + else if (m_strType == "roseObject") + { + // 玫瑰图 + + } + else if (m_strType == "dcaObject") + { + // 裂缝DCA分析 + + } + else if (m_strType == "MCalsObject") + { + // 多臂井径属性 + //多臂井径 + Draw_MCals(m_strLineName, m_strLineName); + } + else if ("waveObject" == m_strType) + { + //波列 + } + else if ("DrawImageObject" == m_strType) + { + //图像 } } @@ -11193,6 +11257,7 @@ void QMyCustomPlot::resetPosition() replot(); } +//裂缝 void QMyCustomPlot::s_changeCrackProperty(QString strObjUuid) { if (m_strObjUuid != strObjUuid)