diff --git a/logPlus/formwell.cpp b/logPlus/formwell.cpp index f15cbfb..707e6bc 100644 --- a/logPlus/formwell.cpp +++ b/logPlus/formwell.cpp @@ -596,6 +596,14 @@ void FormWell::s_NewTrack_No_Line(QString strUuid, QString strWellName, QString void FormWell::slot_NewTrack_No_Line(QString strUuid, QJsonObject topObj, QJsonObject infoObj) { + if(g_iLoadingJson==1)//针对模板加载 + { + if(!m_bActive) //多井加载json时,默认当前井为最后一口井,激活状态。需要修改其他前面的井为非激活状态 + { + return; + } + } + QString strWellName=g_strWellName; QString strTrackName=""; //多井的打开工程,使用模板的井名和slf名 diff --git a/logPlus/formwell.h b/logPlus/formwell.h index 45eba18..04e3bf0 100644 --- a/logPlus/formwell.h +++ b/logPlus/formwell.h @@ -68,9 +68,9 @@ public: MainWindowCurve *m_pMainWinCurve = NULL; bool m_bShowTrackHead = true; //显示道头 bool m_bMultiProject = false; //多井的打开工程,使用模板的井名和slf名 + bool m_bActive = true; //多井加载json时,默认当前井为最后一口井,激活状态。需要修改其他前面的井为非激活状态 bool m_bSetRowHeight = true; //默认非手工设置行高,而是调用接口SetRowHeight - // 道图形 QMap> m_mapFormDraw; diff --git a/logPlus/mainwindowcurve.cpp b/logPlus/mainwindowcurve.cpp index 693a259..81266f1 100644 --- a/logPlus/mainwindowcurve.cpp +++ b/logPlus/mainwindowcurve.cpp @@ -5551,6 +5551,7 @@ void MainWindowCurve::s_NewWell(QString strWellName, QString strSlfName, bool bS widgetWell->m_bShowTrackHead = bShowTrackHead; //多井的打开工程,使用模板的井名和slf名 widgetWell->m_bMultiProject = m_bMultiProject; + widgetWell->m_bActive = true; //多井加载json时,默认当前井为最后一口井,激活状态。需要修改其他前面的井为非激活状态 // ui->tableWidget_2->setCellWidget(i, columnCount, widgetWell);//默认用widgetWell填充满 m_mapFWell.insert(strWellName, widgetWell); @@ -7219,6 +7220,10 @@ void MainWindowCurve::DisplayWell_One(QJsonObject wellObjInfo) s_NewWell(strWellName, strSlfName, m_bShowTrackHead); + //修改井的激活状态 + //多井加载json时,默认当前井为最后一口井,激活状态。需要修改其他前面的井为非激活状态 + modifyWellActive(); + // if (wellObjInfo.contains("formTracks")) { @@ -8070,3 +8075,34 @@ void MainWindowCurve::restoreOriginalCentralWidget() m_bHVDisplay = false; return; } + + +//修改井的激活状态 +//多井加载json时,默认当前井为最后一口井,激活状态。需要修改其他前面的井为非激活状态 +void MainWindowCurve::modifyWellActive() +{ + // + int columnCount = ui->tableWidget_2->columnCount();//总列数 + for(int i=0; itableWidget_2->cellWidget(1, i) != nullptr ) + { + auto myWidget = ui->tableWidget_2->cellWidget(1, i); + // + FormWell *widgetWell = qobject_cast(myWidget);//获得widget + if(widgetWell) + { + widgetWell->m_bActive = false; //多井加载json时,默认当前井为最后一口井,激活状态。需要修改其他前面的井为非激活状态 + } + } + } +} diff --git a/logPlus/mainwindowcurve.h b/logPlus/mainwindowcurve.h index fe36a00..ab78dcb 100644 --- a/logPlus/mainwindowcurve.h +++ b/logPlus/mainwindowcurve.h @@ -159,6 +159,9 @@ public: QString m_fileJson=""; bool m_bMultiProject = false; //多井的打开工程,使用模板的井名和slf名 + //多井加载json时,默认当前井为最后一口井,激活状态。需要修改其他前面的井为非激活状态 + void modifyWellActive(); + public: //样式 void loadStyle(const QString &qssFile);