diff --git a/logPlus/CallManage.h b/logPlus/CallManage.h index e88f090..d12e094 100644 --- a/logPlus/CallManage.h +++ b/logPlus/CallManage.h @@ -84,6 +84,9 @@ signals: //裂痕 void sig_AddCrack(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW = 0); + //新建固井 + void sig_AddGujing(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName); + //气测/FMT/射孔/文本 void sig_AddJiegutext(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW = 0, QStringList listOtherProperty={}); diff --git a/logPlus/PropertyWidget.cpp b/logPlus/PropertyWidget.cpp index d9a6cbd..382fd8b 100644 --- a/logPlus/PropertyWidget.cpp +++ b/logPlus/PropertyWidget.cpp @@ -140,39 +140,6 @@ void PropertyWidget::changedYxzpProperty(QtProperty *qtProperty, const QVariant { if("选择井曲线" == m_propertyData[qtProperty]) { -// QString sFilePath = variant.value(); -// if(sFilePath.indexOf("@")>-1) -// { -// int ind=sFilePath.indexOf("@"); -// QString strLineName = sFilePath.left(ind); -// sFilePath=sFilePath.mid(ind+1); -// sFilePath.trimmed(); -// //只支持以下名称 -// if (strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT") -// { -// QString strOldLineName = m_formInfo->m_strLineName; -// QString strOldSlfName = m_formInfo->m_strSlfName; -// //暂时不允许改变slf井次名称,不然不在同一口井绘制 -// if(strOldSlfName != sFilePath) -// { -// QMessageBox::information(nullptr,"提示","不允许改变slf井次名称"); -// return; -// } -// //名称不变 -// if(strOldLineName == strLineName) -// { -// return; -// } - -// // -// m_formInfo->m_strLineName = strLineName; -// //m_formInfo->m_strSlfName = sFilePath; -// m_formInfo->update(); - -// //改变固井曲线名 -// emit CallManage::getInstance()->sig_changeGujingLine(m_formInfo->m_strUuid, m_formInfo->m_strSlfName, m_formInfo->m_strWellName, m_formInfo->m_strTrackName, strOldLineName, strLineName); -// } -// } } else if("例区高度(cm)" == m_propertyData[qtProperty]) { @@ -719,8 +686,7 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant QString strLineName = sFilePath.left(ind); sFilePath=sFilePath.mid(ind+1); sFilePath.trimmed(); - //只支持以下名称 - //if (strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT") + //只支持以下名称 { QString strOldLineName = m_formInfo->m_strLineName; QString strOldSlfName = m_formInfo->m_strSlfName; @@ -1019,6 +985,42 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant //先处理通用属性 CommonPropertyChanged(pProperty, variant); + if("选择井曲线" == m_propertyData[pProperty]) + { + QString sFilePath = variant.value(); + if(sFilePath.indexOf("@")>-1) + { + int ind=sFilePath.indexOf("@"); + QString strLineName = sFilePath.left(ind); + sFilePath=sFilePath.mid(ind+1); + sFilePath.trimmed(); + //只支持以下名称 + { + QString strOldLineName = m_formInfo->m_strLineName; + QString strOldSlfName = m_formInfo->m_strSlfName; + //暂时不允许改变slf井次名称,不然不在同一口井绘制 + if(strOldSlfName != sFilePath) + { + QMessageBox::information(nullptr,"提示","不允许改变slf井次名称"); + return; + } + //名称不变 + if(strOldLineName == strLineName) + { + return; + } + + // + m_formInfo->m_strLineName = strLineName; + //m_formInfo->m_strSlfName = sFilePath; + m_formInfo->update(); + + //改变固井曲线名 + emit CallManage::getInstance()->sig_changeGujingLine(m_formInfo->m_strUuid, m_formInfo->m_strSlfName, m_formInfo->m_strWellName, m_formInfo->m_strTrackName, strOldLineName, strLineName); + } + } + } + //固井结论item if("顶深(m)" == m_propertyData[pProperty]) { @@ -1417,7 +1419,6 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant sFilePath=sFilePath.mid(ind+1); sFilePath.trimmed(); //只支持以下名称 - //if (strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT") { QString strOldLineName = m_formInfo->m_strLineName; QString strOldSlfName = m_formInfo->m_strSlfName; @@ -1566,7 +1567,6 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant sFilePath=sFilePath.mid(ind+1); sFilePath.trimmed(); //只支持以下名称 - //if (strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT") { QString strOldLineName = m_formInfo->m_strLineName; QString strOldSlfName = m_formInfo->m_strSlfName; @@ -3247,12 +3247,7 @@ void PropertyWidget::initProperty(FormInfo *formInfo) if (formInfo->m_strType == "tableObject") { - if (m_strLineName == "GUJING1_RESULT" || m_strLineName == "GUJING2_RESULT" || m_strLineName == "GUJING3_RESULT") - { - //固井结论 - this->initGujingProperty(formInfo); - } - else if (m_strLineName == "IMAGE_DATA") + if (m_strLineName == "IMAGE_DATA") { // 岩心图片 this->initImageProperty(formInfo); @@ -3329,6 +3324,11 @@ void PropertyWidget::initProperty(FormInfo *formInfo) //气测/FMT/射孔/文本 this->initJiegutextProperty(formInfo); } + else if (formInfo->m_strType == "gujingObject") + { + //固井结论 + this->initGujingProperty(formInfo); + } else if (formInfo->m_strType == "LogfaceObject") { //沉积相 diff --git a/logPlus/formdraw.cpp b/logPlus/formdraw.cpp index bfc2a84..8cbf922 100644 --- a/logPlus/formdraw.cpp +++ b/logPlus/formdraw.cpp @@ -78,6 +78,9 @@ FormDraw::FormDraw(QWidget *parent, QString strSlfName, QString strWellName, QSt //气测/FMT/射孔/文本 connect(CallManage::getInstance(), SIGNAL(sig_AddJiegutext(QString, QString, QString, QString, QString, int, QStringList)), this, SLOT(s_addJiegutext(QString, QString, QString, QString, QString,int, QStringList))); + //固井 + connect(CallManage::getInstance(), SIGNAL(sig_AddGujing(QString, QString, QString, QString, QString)), this, SLOT(s_addGujing(QString, QString, QString, QString, QString))); + //沉积相 connect(CallManage::getInstance(), SIGNAL(sig_AddLogface(QString, QString, QString, QString, QString, int, QStringList)), this, SLOT(s_addLogface(QString, QString, QString, QString, QString,int, QStringList))); @@ -530,12 +533,11 @@ void FormDraw::DisplayLines(QJsonArray linesArray) //qDebug() << "LineName:" << strLineName; } } - if (strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT" - || strLineName == "WORDS_RELUST" || strLineName == "GEO_LITH" || strLineName == "SWALL_CORE" + if (strLineName == "WORDS_RELUST" || strLineName == "GEO_LITH" || strLineName == "SWALL_CORE" || strLineName == "LAYER_DATA" || strLineName == "RESULT") { - //固井结论/井壁取心/录井剖面/文字结论/地质分层 + //井壁取心/录井剖面/文字结论/地质分层 DisplayTable_One(lineObjInfo); } else if (strLineName == "CORE_PHYSICS") @@ -565,6 +567,11 @@ void FormDraw::DisplayLines(QJsonArray linesArray) //气测/FMT/射孔/文本 DisplayJiegutext_One(lineObjInfo); } + else if (strType == "gujingObject") + { + //固井 + DisplayGujing_One(lineObjInfo); + } else if (strType == "LogfaceObject") { //沉积相 @@ -935,8 +942,7 @@ void FormDraw::displayImageData(QJsonObject lineObjInfo) this->addTableLine(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName, listOtherProperty); } - -//表格:固井结论等 +//表格 void FormDraw::DisplayTable_One(QJsonObject lineObjInfo) { QString strSlfName = ""; @@ -1155,6 +1161,225 @@ void FormDraw::DisplayTable_One(QJsonObject lineObjInfo) } } +//固井结论 +void FormDraw::DisplayGujing_One(QJsonObject lineObjInfo) +{ + QString strSlfName = ""; + QString strWellName = ""; + QString strLineName = ""; + QString strAliasName = "";//显示名称 + QFont curveNameFont("微软雅黑", 10); // 名称字体 + QColor lineColor = QColor(0, 0, 0);//颜色 + + if (lineObjInfo.contains("SlfName")) + { + QJsonValue value = lineObjInfo.value("SlfName"); + if (value.isString()) { + strSlfName = value.toString(); + //qDebug() << "SlfName:" << strSlfName; + + // + QString slffilename = QString(""); + int ind = strSlfName.lastIndexOf('\\'); + int ind2 = strSlfName.lastIndexOf('/'); + if (ind2 > ind) ind = ind2; + if (ind > -1) { + slffilename = strSlfName.mid(ind + 1); + strSlfName = slffilename; + } + } + } + if (lineObjInfo.contains("WellName")) + { + QJsonValue value = lineObjInfo.value("WellName"); + if (value.isString()) { + strWellName = value.toString(); + //qDebug() << "WellName:" << strWellName; + } + } + if (lineObjInfo.contains("LineName")) + { + QJsonValue value = lineObjInfo.value("LineName"); + if (value.isString()) { + strLineName = value.toString(); + //qDebug() << "LineName:" << strLineName; + } + } + if (lineObjInfo.contains("AliasName")) + { + QJsonValue value = lineObjInfo.value("AliasName"); + if (value.isString()) { + strAliasName = value.toString(); + //qDebug() << "strAliasName:" << strAliasName; + } + } + //字体 + if (lineObjInfo.contains("curveNameFont")) + { + QJsonValue value = lineObjInfo.value("curveNameFont"); + if (value.isString()) { + curveNameFont.fromString(value.toString()); + //qDebug() << "strUnit:" << strUnit; + } + } + // + if (lineObjInfo.contains("lineColor")) + { + lineColor.setNamedColor(lineObjInfo.value("lineColor").toString()); + } + //垂向绘制 + bool bVerticaDrawing = false; + if (lineObjInfo.contains("VerticaDrawing")) + { + QJsonValue value = lineObjInfo.value("VerticaDrawing"); + if (value.isBool()) { + bVerticaDrawing = value.toBool(); + } + } + // 旋转角度 + int nRotationAngle = 0; + if (lineObjInfo.contains("RotationAngle")) + { + QJsonValue value = lineObjInfo.value("RotationAngle"); + if (value.isDouble()) { + nRotationAngle = value.toInt(); + } + } + + // + double dOilZhan = 8; //含油占比 + bool bLithColor = true; // 岩性配色显示 + bool bLithOne = true; // 单岩性显示 + bool bShowOil = true; // 显示含油性 + bool bCenterOil = false; // 含油性居中 + bool bShowColor = false; // 显示颜色 + bool bShowColorNum = false; // 绘制颜色号 + // + if (lineObjInfo.contains("OilZhan"))//含油占比 + { + dOilZhan = lineObjInfo.value("OilZhan").toInt(); + } + // + if (lineObjInfo.contains("LithColor")) + { + QJsonValue value = lineObjInfo.value("LithColor"); + if (value.isBool()) { + bLithColor = value.toBool(); + } + } + if (lineObjInfo.contains("LithOne")) + { + QJsonValue value = lineObjInfo.value("LithOne"); + if (value.isBool()) { + bLithOne = value.toBool(); + } + } + if (lineObjInfo.contains("ShowOil")) + { + QJsonValue value = lineObjInfo.value("ShowOil"); + if (value.isBool()) { + bShowOil = value.toBool(); + } + } + if (lineObjInfo.contains("CenterOil")) + { + QJsonValue value = lineObjInfo.value("CenterOil"); + if (value.isBool()) { + bCenterOil = value.toBool(); + } + } + if (lineObjInfo.contains("ShowColor")) + { + QJsonValue value = lineObjInfo.value("ShowColor"); + if (value.isBool()) { + bShowColor = value.toBool(); + } + } + if (lineObjInfo.contains("ShowColorNum")) + { + QJsonValue value = lineObjInfo.value("ShowColorNum"); + if (value.isBool()) { + bShowColorNum = value.toBool(); + } + } + + + QString folderPath = GetLogdataPath(); + folderPath = folderPath + g_prjname; + strSlfName = folderPath + "/" + "#" + strWellName + "/" + strSlfName; + + if (strLineName != "") + { + QStringList listOtherProperty; + listOtherProperty.append(strAliasName);//别名 + listOtherProperty.append(lineColor.name());//名称颜色 + listOtherProperty.append(curveNameFont.toString());//名称字体 + if(bVerticaDrawing)//垂向绘制 + { + listOtherProperty.append("VerticaDrawing"); + } + else{ + listOtherProperty.append("0"); + } + // + listOtherProperty.append(QString::number(nRotationAngle));//旋转角度 + + // + listOtherProperty.append(QString::number(dOilZhan));//含油占比 + // + if(bLithColor) + { + listOtherProperty.append("LithColor"); + } + else{ + listOtherProperty.append("0"); + } + // + if(bLithOne) + { + listOtherProperty.append("LithOne"); + } + else{ + listOtherProperty.append("0"); + } + // + if(bShowOil) + { + listOtherProperty.append("ShowOil"); + } + else{ + listOtherProperty.append("0"); + } + // + if(bCenterOil) + { + listOtherProperty.append("CenterOil"); + } + else{ + listOtherProperty.append("0"); + } + // + if(bShowColor) + { + listOtherProperty.append("ShowColor"); + } + else{ + listOtherProperty.append("0"); + } + // + if(bShowColorNum) + { + listOtherProperty.append("ShowColorNum"); + } + else{ + listOtherProperty.append("0"); + } + + //结论 + this->addGujing(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName, listOtherProperty); + } +} + //蝌蚪图 void FormDraw::DisplayKedouAndOthers_One(QJsonObject lineObjInfo) { @@ -2968,7 +3193,6 @@ QMyCustomPlot* FormDraw::addTableLine(QString strUuid, QString strSlfName, QStri { if (strLineName == "FRAC_HOLE.TABLE" || strLineName == "WORDS_RELUST" || strLineName == "RESULT" || strLineName == "GEO_LITH" || strLineName == "SWALL_CORE" - || strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT" || strLineName == "CORE_PHYSICS" || strLineName == "IMAGE_DATA" || strLineName == "LAYER_DATA" ) { @@ -3070,22 +3294,7 @@ QMyCustomPlot* FormDraw::addTableLine(QString strUuid, QString strSlfName, QStri { initSwallCore(curv, strSlfName, strLineName); } - } - else if (strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT") - { - //固井结论 - if(listOtherProperty.size()>=3) - { - QString strAliasName = listOtherProperty[0]; - QColor newlineColor=QColor(0,0,0); - newlineColor.setNamedColor(listOtherProperty[1]); - initGujing(curv, strSlfName, strLineName, strAliasName, newlineColor, listOtherProperty); - } - else - { - initGujing(curv, strSlfName, strLineName); - } - } + } else if (strLineName == "CORE_PHYSICS") { // 岩心分析 @@ -3116,6 +3325,51 @@ QMyCustomPlot* FormDraw::addTableLine(QString strUuid, QString strSlfName, QStri return curv; } +//固井 +QMyCustomPlot* FormDraw::addGujing(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QStringList listOtherProperty) +{ + //井名&道名不一致 + if (strUuid == m_strUuid && m_strWellName == strWellName && m_strTrackName == strTrackName) + { + } + else + { + return NULL; + } + + if (m_listLineName.contains(strLineName)) + { + qDebug() << "FormDraw strLineName already exist! " << strLineName; + return NULL; + } + + // + QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); + //绑定m_formTrack,方便关联formInfo + curv->m_formTrack = m_formTrack; + curv->setDepthY(m_iY1, m_iY2); + curv->initGeometry(m_strUuid, m_iScale, m_nTrackW); + curv->show(); + + //固井结论 + if(listOtherProperty.size()>=3) + { + QString strAliasName = listOtherProperty[0]; + QColor newlineColor=QColor(0,0,0); + newlineColor.setNamedColor(listOtherProperty[1]); + initGujing(curv, strSlfName, strLineName, strAliasName, newlineColor, listOtherProperty); + } + else + { + initGujing(curv, strSlfName, strLineName); + } + + connect(curv, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*))); + // + m_listLineName.push_back(strLineName); + return curv; +} + QMyCustomPlot* FormDraw::addKedouAndOthers(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QJsonObject listOtherProperty) { //蝌蚪、杆状、井眼垮塌矢量图、井斜方位图 @@ -3425,13 +3679,18 @@ void FormDraw::s_addWave(QString strUuid, QString strSlfName, QString strWellNam } - void FormDraw::s_addTableLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName) { this->addTableLine(strUuid, strSlfName, strWellName, strTrackName, strLineName); } +void FormDraw::s_addGujing(QString strUuid, QString strSlfName, QString strWellName, + QString strTrackName, QString strLineName) +{ + this->addGujing(strUuid, strSlfName, strWellName, strTrackName, strLineName); +} + void FormDraw::s_mouseWheel(QWheelEvent *event) { emit CallManage::getInstance()->sig_mouseWheel(event); @@ -5781,7 +6040,7 @@ void FormDraw::initGujing(QMyCustomPlot *widget, QString strSlfName, QString str double width=2; QString strScaleType = ""; //道-对象 - m_formTrack->Add(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "tableObject", listOtherProperty); + m_formTrack->Add(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "gujingObject", listOtherProperty); } void FormDraw::initDepth(QMyCustomPlot *curv) @@ -7069,6 +7328,11 @@ void FormDraw::dropEvent(QDropEvent* event) //气测/FMT/射孔/文本 emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName); } + else if(strType=="gujingObject") + { + //新建固井 + emit CallManage::getInstance()->sig_AddGujing(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName); + } else if(strType=="LogfaceObject") { //沉积相 diff --git a/logPlus/formdraw.h b/logPlus/formdraw.h index a19895e..c9e62dd 100644 --- a/logPlus/formdraw.h +++ b/logPlus/formdraw.h @@ -54,6 +54,9 @@ public: //气测/FMT/射孔/文本 void DisplayJiegutext_One(QJsonObject lineObjInfo); + //固井 + void DisplayGujing_One(QJsonObject lineObjInfo); + //沉积相 void DisplayFac_One(QJsonObject lineObjInfo); @@ -100,6 +103,11 @@ protected: QMyCustomPlot* addMCals(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QJsonObject listOtherProperty={}); + //固井 + QMyCustomPlot* addGujing(QString strUuid, QString strSlfName, QString strWellName, + QString strTrackName, QString strLineName, QStringList listOtherProperty={}); + + public slots: void dragEnterEvent(QDragEnterEvent* event); void dragMoveEvent(QDragMoveEvent* event); @@ -280,6 +288,9 @@ public slots: //气测/FMT/射孔/文本 void s_addJiegutext(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW, QStringList listOtherProperty); + //固井 + void s_addGujing(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strWaveName); + //沉积相 void s_addLogface(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW, QStringList listOtherProperty); diff --git a/logPlus/forminfo.cpp b/logPlus/forminfo.cpp index 67366e2..e5a75fe 100644 --- a/logPlus/forminfo.cpp +++ b/logPlus/forminfo.cpp @@ -715,10 +715,9 @@ QJsonObject FormInfo::makeJson() rootObj["VerticaDrawing"] = m_bVerticaDrawing; rootObj["RotationAngle"] = m_nRotationAngle; - if (m_strLineName == "GUJING1_RESULT" || m_strLineName == "GUJING2_RESULT" || m_strLineName == "GUJING3_RESULT" - || m_strLineName == "SWALL_CORE" || m_strLineName == "WORDS_RELUST" || m_strLineName == "LAYER_DATA") + if (m_strLineName == "SWALL_CORE" || m_strLineName == "WORDS_RELUST" || m_strLineName == "LAYER_DATA") { - //固井结论/井壁取心/文字结论/地质分层 + //井壁取心/文字结论/地质分层 //item属性写入slf文件,不需要此次记录 return rootObj; } @@ -792,6 +791,16 @@ QJsonObject FormInfo::makeJson() //item属性写入slf文件,不需要此次记录 return rootObj; } + if (m_strType == "gujingObject") + { + //固井 + //垂向绘制 + rootObj["VerticaDrawing"] = m_bVerticaDrawing; + rootObj["RotationAngle"] = m_nRotationAngle; + + //item属性写入slf文件,不需要此次记录 + return rootObj; + } else if (m_strType == "LogfaceObject") { //沉积相 @@ -1580,7 +1589,6 @@ void FormInfo::paintEvent(QPaintEvent* event) // if(m_strType=="tableObject" && (m_strLineName=="WORDS_RELUST" || m_strLineName == "RESULT" || m_strLineName == "GEO_LITH"|| m_strLineName == "SWALL_CORE" - || m_strLineName == "GUJING1_RESULT" || m_strLineName == "GUJING2_RESULT" || m_strLineName == "GUJING3_RESULT" || m_strLineName == "CORE_PHYSICS" || m_strLineName == "IMAGE_DATA" || m_strLineName == "LAYER_DATA") ) { @@ -2862,6 +2870,14 @@ void FormInfo::contextMenuEvent(QContextMenuEvent *event) menu.addAction(QIcon(::GetImagePath() + "icon/Delete.png"), "删除当前对象", this, &FormInfo::onDeleteTable); menu.exec(event->globalPos()); } + else if(m_strType=="gujingObject") + { + //固井 + 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()); + } else if(m_strType=="LogfaceObject") { //沉积相 diff --git a/logPlus/formtrack.cpp b/logPlus/formtrack.cpp index 93b649b..ed6e0cc 100644 --- a/logPlus/formtrack.cpp +++ b/logPlus/formtrack.cpp @@ -92,6 +92,10 @@ FormTrack::FormTrack(QWidget *parent, QString strSlfName, QString strWellName, Q connect(this, SIGNAL(sig_AddJiegutext(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString, QStringList)), this, SLOT(s_addJiegutext(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString, QStringList))); + //固井 + connect(this, SIGNAL(sig_AddGujing(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString, QStringList)), + this, SLOT(s_AddGujing(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString, QStringList))); + //沉积相 connect(this, SIGNAL(sig_AddLogface(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString, QStringList)), this, SLOT(s_addLogface(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString, QStringList))); @@ -275,6 +279,11 @@ void FormTrack::Add(QString strSlfName, QString strWellName, QString strTrackNam { emit sig_AddJiegutext(strSlfName, strWellName, m_strTrackName, strLineName, strAliasName, strUnit, lineColor, dWidth, vmax, vmin, strScaleType, listOtherProperty); } + else if(strType=="gujingObject") + { + //新建固井 + emit sig_AddGujing(strSlfName, strWellName, m_strTrackName, strLineName, strAliasName, strUnit, lineColor, dWidth, vmax, vmin, strScaleType, listOtherProperty); + } else if(strType=="LogfaceObject") { emit sig_AddLogface(strSlfName, strWellName, m_strTrackName, strLineName, strAliasName, strUnit, lineColor, dWidth, vmax, vmin, strScaleType, listOtherProperty); @@ -674,8 +683,7 @@ void FormTrack::s_delWave(QString strUuid, QString strWellName, QString strTrack void FormTrack::s_AddTableLine(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty) { if(strLineName == "FRAC_HOLE.TABLE" || strLineName == "WORDS_RELUST" || strLineName == "RESULT" - || strLineName == "GEO_LITH" || strLineName == "SWALL_CORE" - || strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT" + || strLineName == "GEO_LITH" || strLineName == "SWALL_CORE" || strLineName == "CORE_PHYSICS" || strLineName == "IMAGE_DATA" || strLineName == "LAYER_DATA") { @@ -708,12 +716,11 @@ void FormTrack::s_AddTableLine(QString strSlfName, QString strWellName, QString formInfo->setVMin(vmin); formInfo->setFrontColor(QColor(0,0,0)); formInfo->setBackColor(QColor(255,255,255)); - if(strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT" - || strLineName == "GEO_LITH" || strLineName == "SWALL_CORE" + if(strLineName == "GEO_LITH" || strLineName == "SWALL_CORE" || strLineName == "WORDS_RELUST" || strLineName == "LAYER_DATA" || strLineName == "IMAGE_DATA" || strLineName == "CORE_PHYSICS" ) { - //固井结论 / 井壁取心 / 录井剖面 /文字结论 /地质分层 + //井壁取心 / 录井剖面 /文字结论 /地质分层 if(listOtherProperty.size()>=5) { QFont curveNameFont("微软雅黑", 10); // 名称字体 @@ -943,6 +950,62 @@ void FormTrack::s_AddTableLine(QString strSlfName, QString strWellName, QString ui->tableWidget->setCellWidget(row, 0, formInfo); } +//固井 +void FormTrack::s_AddGujing(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty) +{ + qDebug() << "FormTrack s_AddGujing"; + + ui->tableWidget->m_strUuid = m_strUuid; + int row = ui->tableWidget->rowCount(); + ui->tableWidget->setRowCount(row + 1); + + //避免出现小滚动条 + //ui->tableWidget->resize(g_iOneWidth, 100*(row + 1)+10); + //this->resize(g_iOneWidth, 100*(row + 1)+30); + + //曲线信息栏 + FormInfo *formInfo = new FormInfo(this, strSlfName, strWellName, strTrackName, strLineName, lineColor); + formInfo->m_strUuid = m_strUuid; + formInfo->m_strAliasName = strAliasName; + formInfo->m_strUnit = strUnit; + formInfo->m_strScaleType = strScaleType; + formInfo->m_strType = "gujingObject"; + formInfo->setLineWidth(dWidth); + formInfo->setVMax(vmax); + formInfo->setVMin(vmin); + formInfo->setFrontColor(QColor(0,0,0)); + formInfo->setBackColor(QColor(255,255,255)); + + //固井结论 + if(listOtherProperty.size()>=5) + { + QFont curveNameFont("微软雅黑", 10); // 名称字体 + curveNameFont.fromString(listOtherProperty[2]); + formInfo->m_curveNameFont = curveNameFont; + + QColor color(listOtherProperty[1]); + formInfo->m_lineColor = color; + // + if(listOtherProperty[3]=="VerticaDrawing") + { + formInfo->m_bVerticaDrawing = true; + } + else + { + formInfo->m_bVerticaDrawing = false; + } + // + formInfo->m_nRotationAngle = listOtherProperty[4].toInt(); + } + + //设置高度 + ui->tableWidget->setRowHeight(row, 100); + //单元格委托 + //ui->tableWidget->setItemDelegateForRow(row, m_delegate); + // + ui->tableWidget->setCellWidget(row, 0, formInfo); +} + void FormTrack::s_addDepth(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType) { qDebug() << "FormTrack s_addDepth"; diff --git a/logPlus/formtrack.h b/logPlus/formtrack.h index fb8dd2a..e8f4377 100644 --- a/logPlus/formtrack.h +++ b/logPlus/formtrack.h @@ -68,6 +68,7 @@ signals: void sig_AddSantuyibiao(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType); void sig_AddCrack(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType); void sig_AddJiegutext(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={}); + void sig_AddGujing(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={}); void sig_AddLogface(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={}); void sig_AddMCals(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType); void sig_AddTubingstring(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={}); @@ -88,6 +89,7 @@ public slots: void s_addSantuyibiao(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType); void s_addCrack(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType); void s_addJiegutext(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={}); + void s_AddGujing(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={}); void s_addLogface(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={}); void s_addMCals(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType); void s_addTubingstring(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={}); diff --git a/logPlus/formtracktop.cpp b/logPlus/formtracktop.cpp index 9e8b5fd..c04c461 100644 --- a/logPlus/formtracktop.cpp +++ b/logPlus/formtracktop.cpp @@ -238,6 +238,11 @@ void FormTrackTop::dropEvent(QDropEvent* event) //气测/FMT/射孔/文本 emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName); } + else if(strType=="gujingObject") + { + //新建固井 + emit CallManage::getInstance()->sig_AddGujing(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName); + } else if(strType=="LogfaceObject") { //沉积相 diff --git a/logPlus/formwell.cpp b/logPlus/formwell.cpp index 20afcf3..63133de 100644 --- a/logPlus/formwell.cpp +++ b/logPlus/formwell.cpp @@ -513,6 +513,11 @@ void FormWell::s_NewTrack(QString strUuid, QString strWellName, QString strSlfNa { //气测/FMT/射孔/文本 emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, strTrackName, strLineName); + } + else if(strType=="gujingObject") + { + //新建固井 + emit CallManage::getInstance()->sig_AddGujing(m_strUuid, strSlfName, strWellName, strTrackName, strLineName); } else if(strType=="LogfaceObject") { diff --git a/logPlus/mainwindowcurve.cpp b/logPlus/mainwindowcurve.cpp index bcb891c..e1d8a95 100644 --- a/logPlus/mainwindowcurve.cpp +++ b/logPlus/mainwindowcurve.cpp @@ -3799,7 +3799,7 @@ void MainWindowCurve::s_NewGujing() //选中道 if(m_SelectTableItem.m_iTableType==2) { //新建表格曲线 - emit CallManage::getInstance()->sig_AddTableLine(m_strUuid, m_SelectTableItem.m_strSlfName, m_SelectTableItem.m_strWellName, m_SelectTableItem.m_strTrackName, "GUJING1_RESULT"); + emit CallManage::getInstance()->sig_AddGujing(m_strUuid, m_SelectTableItem.m_strSlfName, m_SelectTableItem.m_strWellName, m_SelectTableItem.m_strTrackName, "GUJING1_RESULT"); return; } @@ -3808,7 +3808,7 @@ void MainWindowCurve::s_NewGujing() return; //新建井+道+曲线(首条) - NewWellAndTrack(sret.at(0), sret.at(1), "GUJING1_RESULT", "tableObject"); + NewWellAndTrack(sret.at(0), sret.at(1), "GUJING1_RESULT", "gujingObject"); } //井壁取心 diff --git a/logPlus/preqtablewidget.cpp b/logPlus/preqtablewidget.cpp index 2d1b5e0..83a26a2 100644 --- a/logPlus/preqtablewidget.cpp +++ b/logPlus/preqtablewidget.cpp @@ -166,6 +166,11 @@ void PreQTableWidget::dropEvent(QDropEvent *event) //气测/FMT/射孔/文本 emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName); } + else if(strType=="gujingObject") + { + //固井 + emit CallManage::getInstance()->sig_AddGujing(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName); + } else if(strType=="LogfaceObject") { if (list.size() > 4) @@ -294,6 +299,11 @@ void PreQTableWidget::dropEvent(QDropEvent *event) //气测/FMT/射孔/文本 emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName); } + else if(strType=="gujingObject") + { + //固井 + emit CallManage::getInstance()->sig_AddGujing(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName); + } else if(strType=="LogfaceObject") { //沉积相 @@ -395,6 +405,10 @@ void PreQTableWidget::performDrag() //气测/FMT/射孔/文本 } + else if(strType=="gujingObject") + { + //固井 + } else if(strType=="LogfaceObject") { //沉积相 @@ -527,6 +541,12 @@ void PreQTableWidget::performDrag() //删除表格 emit CallManage::getInstance()->sig_delTableLine(m_strUuid, formInfo->m_strWellName, formInfo->m_strTrackName, formInfo->m_strLineName); } + else if(strType=="gujingObject") + { + //固井 + //删除表格 + emit CallManage::getInstance()->sig_delTableLine(m_strUuid, formInfo->m_strWellName, formInfo->m_strTrackName, formInfo->m_strLineName); + } else if(strType=="LogfaceObject") { //沉积相 diff --git a/logPlus/qmycustomplot.cpp b/logPlus/qmycustomplot.cpp index 86b0865..2cbe636 100644 --- a/logPlus/qmycustomplot.cpp +++ b/logPlus/qmycustomplot.cpp @@ -1796,19 +1796,7 @@ void QMyCustomPlot::contextMenuEvent(QContextMenuEvent *event) menu.exec(event->globalPos()); } - if (m_strLineName == "GUJING1_RESULT" || m_strLineName == "GUJING2_RESULT" || m_strLineName == "GUJING3_RESULT") - { - QMenu menu(this); - //固井 - menu.addAction(QIcon(::GetImagePath() + "curve.png"), "开始编辑固井结论", this, &QMyCustomPlot::onEditGujing); - menu.addAction(QIcon(::GetImagePath() + "icon/CopyCoreTxt.png"), "从剪切板文本数据粘贴", this, &QMyCustomPlot::addItems_Gujing); - menu.addAction(QIcon(::GetImagePath() + "icon/ClearSelectCore.png"), "取消选中", this, &QMyCustomPlot::ClearSelectItems); - menu.addAction(QIcon(::GetImagePath() + "icon/Delete.png"), "全部清空", this, &QMyCustomPlot::DeleteItems_Gujing); - menu.addAction(QIcon(::GetImagePath() + "icon/CopyCoreTxt.png"), "刷新数据", this, &QMyCustomPlot::RefreshItems_Gujing); - menu.addAction(QIcon(::GetImagePath() + "development.png"), "合并结论", this, &QMyCustomPlot::MegResult_Gujing); - menu.exec(event->globalPos()); - } - else if (m_strLineName == "SWALL_CORE") + if (m_strLineName == "SWALL_CORE") { QMenu menu(this); //井壁取心 @@ -1933,6 +1921,18 @@ void QMyCustomPlot::contextMenuEvent(QContextMenuEvent *event) menu.addAction(QIcon(::GetImagePath() + "icon/CopyCoreTxt.png"), "刷新数据", this, &QMyCustomPlot::RefreshItems_Jiegutext); menu.exec(event->globalPos()); } + else if (strType == "gujingObject") + { + QMenu menu(this); + //固井 + menu.addAction(QIcon(::GetImagePath() + "curve.png"), "开始编辑固井结论", this, &QMyCustomPlot::onEditGujing); + menu.addAction(QIcon(::GetImagePath() + "icon/CopyCoreTxt.png"), "从剪切板文本数据粘贴", this, &QMyCustomPlot::addItems_Gujing); + menu.addAction(QIcon(::GetImagePath() + "icon/ClearSelectCore.png"), "取消选中", this, &QMyCustomPlot::ClearSelectItems); + menu.addAction(QIcon(::GetImagePath() + "icon/Delete.png"), "全部清空", this, &QMyCustomPlot::DeleteItems_Gujing); + menu.addAction(QIcon(::GetImagePath() + "icon/CopyCoreTxt.png"), "刷新数据", this, &QMyCustomPlot::RefreshItems_Gujing); + menu.addAction(QIcon(::GetImagePath() + "development.png"), "合并结论", this, &QMyCustomPlot::MegResult_Gujing); + menu.exec(event->globalPos()); + } else if (strType == "LogfaceObject") { QMenu menu(this); @@ -4973,18 +4973,18 @@ void QMyCustomPlot::RefreshItems_Gujing() } //只支持以下名称 - if (m_strLineName == "GUJING1_RESULT" || m_strLineName == "GUJING2_RESULT" || m_strLineName == "GUJING3_RESULT") + //if (m_strLineName == "GUJING1_RESULT" || m_strLineName == "GUJING2_RESULT" || m_strLineName == "GUJING3_RESULT") { //重新加载 LoadFromSLF_Gujing(m_strSlfName, m_strLineName); //属性清空 - PropertyService()->InitCurrentViewInfo(); - } - else - { - replot(); - return; + //PropertyService()->InitCurrentViewInfo(); } +// else +// { +// replot(); +// return; +// } } //合并结论 diff --git a/logPlus/selectlinedialog.cpp b/logPlus/selectlinedialog.cpp index cd311d6..93b1167 100644 --- a/logPlus/selectlinedialog.cpp +++ b/logPlus/selectlinedialog.cpp @@ -100,23 +100,12 @@ void SelectLineDialog::setInfo(QString fileFull, QString strWellName, QString st { qDebug() << "strCurveName: " << strCurveName; //表格数据 - if (strCurveName == "GUJING1_RESULT" || strCurveName == "GUJING2_RESULT" || strCurveName == "GUJING3_RESULT") + + //气测/FMT/射孔/文本 固井曲线 + if(strType=="JiegutextObject" || strType=="gujingObject") { - //固井 - if(strType=="gujingObject") - { - //下拉列表 - ui->comboBox->addItem(strCurveName); - } - } - else - { - //气测/FMT/射孔/文本(去掉固井曲线) - if(strType=="JiegutextObject") - { - //下拉列表 - ui->comboBox->addItem(strCurveName); - } + //下拉列表 + ui->comboBox->addItem(strCurveName); } } else if(CURVE_OBJECT == curvetype)