沉积相,追加属性和右键菜单,支持新建微相。
This commit is contained in:
parent
382f654d52
commit
967a7c2495
|
|
@ -80,7 +80,7 @@ signals:
|
|||
void sig_AddMCals(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW = 0);
|
||||
|
||||
//沉积相
|
||||
void sig_AddLogface(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW = 0);
|
||||
void sig_AddLogface(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW = 0, QStringList listOtherProperty={});
|
||||
|
||||
//套管组件
|
||||
void sig_AddTubingstring(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW = 0);
|
||||
|
|
|
|||
|
|
@ -1,263 +0,0 @@
|
|||
#include <math.h>
|
||||
#include <cassert>
|
||||
#include <QApplication>
|
||||
#include <QDebug>
|
||||
#include "MemRdWt.h"
|
||||
#include "DrawFac.h"
|
||||
#include <qdatetime.h>
|
||||
#include "geometryutils.h"
|
||||
|
||||
CDrawFac::CDrawFac(QMyCustomPlot *myCustomPlot, QString strSlfName, QString csCurve)
|
||||
{
|
||||
m_myCustomPlot = myCustomPlot;
|
||||
|
||||
//隐藏刻度
|
||||
myCustomPlot->xAxis->setTicks(false);
|
||||
myCustomPlot->yAxis->setTicks(false);
|
||||
myCustomPlot->xAxis2->setTicks(false);
|
||||
myCustomPlot->yAxis2->setTicks(false);
|
||||
|
||||
//画2条竖线
|
||||
int iMyWidth = myCustomPlot->axisRect(0)->width();
|
||||
QCPItemStraightLine *qcpItemLine = new QCPItemStraightLine(myCustomPlot);
|
||||
qcpItemLine->point1->setCoords(-1, iMyWidth/2);//位置
|
||||
qcpItemLine->point2->setCoords(-2, iMyWidth/2);//位置
|
||||
//qcpItemLine->setPen(pPenStraightLine);
|
||||
|
||||
QCPItemStraightLine *qcpItemLine2 = new QCPItemStraightLine(myCustomPlot);
|
||||
qcpItemLine2->point1->setCoords(-1, 3*iMyWidth/4);//位置
|
||||
qcpItemLine2->point2->setCoords(-2, 3*iMyWidth/4);//位置
|
||||
|
||||
ReadFracDef();
|
||||
|
||||
ReadData(strSlfName, csCurve);
|
||||
DrawFac(1);//相
|
||||
DrawFac(2);//亚相
|
||||
}
|
||||
|
||||
CDrawFac::~CDrawFac(void)
|
||||
{
|
||||
m_FracDef.clear();
|
||||
m_ObjList.clear();
|
||||
}
|
||||
|
||||
void CDrawFac::ReadFracDef()
|
||||
{
|
||||
m_FracDef.clear();
|
||||
|
||||
QString fracFilePath = GetConfPath() + "GEoFac.ini";
|
||||
|
||||
//
|
||||
FAC_DEF fd;
|
||||
char str[512],fac[512],phase[64],mFac[64];
|
||||
int r,g,b,id;
|
||||
FILE *fp;
|
||||
QString qs;
|
||||
fp = fopen(fracFilePath.toStdString().c_str(), "r");
|
||||
if ( fp != nullptr )
|
||||
{
|
||||
fgets(str,256,fp); // 跳过第一行
|
||||
while (!feof(fp))
|
||||
{
|
||||
fgets(str,256,fp);
|
||||
qs = str;
|
||||
qs.trimmed();
|
||||
if (qs.length() < 8) break ;
|
||||
//代码 微相 亚相 相
|
||||
sscanf(str,"%d %s %s %s",&fd.iCode,mFac,phase,fac);
|
||||
fd.mFac = mFac;
|
||||
fd.Fac = fac;
|
||||
fd.Phase = phase;
|
||||
m_FracDef.append(fd);
|
||||
if ( feof(fp))
|
||||
break;
|
||||
}
|
||||
fclose(fp);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(fac,"打开沉积相参数配置文件错误:%s!",str);
|
||||
QMessageBox::information(nullptr, "读取文件失败", fac);
|
||||
}
|
||||
}
|
||||
|
||||
void CDrawFac::ReadData(QString strSlfName, QString csCurve)
|
||||
{
|
||||
if(strSlfName.isEmpty()) return;
|
||||
//清空
|
||||
m_ObjList.clear();
|
||||
|
||||
QString cs;
|
||||
int nLineWidth=2;
|
||||
int nField;
|
||||
QColor crColor(255,0,0);
|
||||
FAC_TABLE frac;
|
||||
CMemRdWt mrw;
|
||||
char strFracTable[256];
|
||||
int i,j,iIndex,nCount,iType=1;
|
||||
|
||||
if (mrw.Open(strSlfName.toStdString().c_str()) ) // 打开井文件
|
||||
{
|
||||
iIndex=mrw.OpenTable(csCurve.toStdString().c_str());
|
||||
if(iIndex>=0)
|
||||
{
|
||||
nField=mrw.GetTableFieldCount(iIndex);
|
||||
nCount=mrw.GetTableRecordCount(iIndex);
|
||||
cs ="";
|
||||
if ( nField != 7 )
|
||||
nCount = 0;
|
||||
for(i=0;i<nCount;i++)
|
||||
{
|
||||
mrw.ReadTable(iIndex,i+1,(void*)&frac);
|
||||
m_ObjList.append(frac);
|
||||
|
||||
//显示文本
|
||||
m_myCustomPlot->addMFacToPlot(-frac.edep, -frac.sdep, QString::fromLocal8Bit(frac.mFac));
|
||||
}
|
||||
mrw.CloseTable(iIndex);
|
||||
}
|
||||
mrw.Close(); //关闭井文件
|
||||
}
|
||||
}
|
||||
|
||||
void CDrawFac::DrawFac(int iType)
|
||||
{
|
||||
int j;
|
||||
float dep1,dep2;
|
||||
float top,bottom;
|
||||
QString str1,str2;
|
||||
QColor crColor(0,0,0);
|
||||
QPen qPen(crColor, 1, Qt::SolidLine);
|
||||
if ( m_ObjList.count()<2 )
|
||||
return ;
|
||||
|
||||
//绘制相、亚相
|
||||
FAC_TABLE pObj;
|
||||
pObj =m_ObjList[0];
|
||||
if (iType==1)
|
||||
str1 = QString::fromLocal8Bit(pObj.Fac);
|
||||
else
|
||||
str1 = QString::fromLocal8Bit(pObj.Phase);
|
||||
str1.trimmed();
|
||||
top = pObj.sdep;
|
||||
|
||||
for (j=1;j<m_ObjList.count(); j++)
|
||||
{
|
||||
pObj =m_ObjList[j];
|
||||
|
||||
if (iType==1)
|
||||
str2= QString::fromLocal8Bit(pObj.Fac);
|
||||
else
|
||||
str2 = QString::fromLocal8Bit(pObj.Phase);
|
||||
str2.trimmed();
|
||||
|
||||
if (str2!=str1 || j==(m_ObjList.count()-1))
|
||||
{
|
||||
if ( j==(m_ObjList.count()-1))
|
||||
bottom = m_ObjList[j].edep;
|
||||
else
|
||||
bottom = m_ObjList[j-1].edep;
|
||||
|
||||
|
||||
//显示文本
|
||||
if (iType==1)
|
||||
{
|
||||
//相
|
||||
m_myCustomPlot->addFacToPlot(-bottom, -top, str1);
|
||||
}
|
||||
else
|
||||
{
|
||||
//亚相
|
||||
m_myCustomPlot->addPhaseToPlot(-bottom, -top, str1);
|
||||
}
|
||||
|
||||
top = pObj.sdep;
|
||||
str1=str2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//void CDrawFac::DrawFrac(QPainter* pDC,QRectF mrt)
|
||||
//{
|
||||
// QRectF rt;
|
||||
// float flDepthScale = m_DepthScale*m_nVertRatio;
|
||||
// float sdepc,edepc,sdep,edep;
|
||||
// float temp,temp2;
|
||||
// CFracObj *pObj;
|
||||
// QString cs;
|
||||
// int i,j,n,nCol=2;
|
||||
// QColor crColor(0,0,0);
|
||||
// QPen qPen(crColor, 1, Qt::SolidLine);
|
||||
// rt=mrt;
|
||||
// flDepthScale = m_DepthScale*m_nVertRatio;
|
||||
// rt = mrt;
|
||||
// // 计算显示深度
|
||||
// GetDepth(pDC,mrt,rt,sdep,edep,sdepc,edepc);
|
||||
|
||||
// if ( edep > m_PlotEdep ) edep = m_PlotEdep;
|
||||
// if ( sdep < m_PlotSdep ) sdep = m_PlotSdep;
|
||||
// if ( sdep > m_PlotEdep ) return ;
|
||||
// if ( edep < m_PlotSdep ) return ;
|
||||
// if ( edep > m_PlotEdep ) edep = m_PlotEdep;
|
||||
// pDC->setBrush(Qt::NoBrush);
|
||||
// pDC->setFont(m_LabelFont);
|
||||
|
||||
// if ( m_bDrawFac)
|
||||
// nCol++;
|
||||
// if ( m_bDrawPhase)
|
||||
// nCol++;
|
||||
// n = m_FracDef.count();
|
||||
// pDC->setPen(qPen);
|
||||
// //绘制微相
|
||||
// for (j=0;j<m_ObjList.count(); j++)
|
||||
// {
|
||||
// pObj =m_ObjList[j];
|
||||
// CalQRectF(pObj,mrt,sdep,flDepthScale);
|
||||
// if ( pObj->m_Frac.edep <sdep || pObj->m_Frac.sdep > edep)
|
||||
// continue;
|
||||
// rt= pObj->m_Rect;
|
||||
// temp = mrt.left()+2.*mrt.width()/nCol;
|
||||
// rt.setRight(temp);
|
||||
// if (m_bSymbol) //绘制微相符号
|
||||
// pObj->Draw(pDC,rt,m_iMode);
|
||||
// if ( m_bDrawMFac )
|
||||
// {
|
||||
// cs = pObj->m_Frac.mFac;
|
||||
// pDC->drawText(rt,Qt::AlignCenter| Qt::AlignVCenter,cs);
|
||||
// }
|
||||
// pDC->drawLine(QPoint(mrt.left(),rt.top()),QPoint(temp,rt.top()));
|
||||
// pDC->drawLine(QPoint(mrt.left(),rt.bottom()),QPoint(temp,rt.bottom()));
|
||||
// }
|
||||
// if ( m_bDrawFac && m_bDrawPhase)
|
||||
// {
|
||||
// temp = mrt.left()+2.*mrt.width()/nCol;
|
||||
// temp2 = mrt.left()+3.*mrt.width()/nCol;
|
||||
// DrawFac(pDC,mrt,2,temp,temp2);
|
||||
// DrawFac(pDC,mrt,1,temp2,mrt.right());
|
||||
// pDC->drawLine(QPoint(temp,mrt.top()),QPoint(temp,mrt.bottom()));
|
||||
// pDC->drawLine(QPoint(temp2,mrt.top()),QPoint(temp2,mrt.bottom()));
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// if ( m_bDrawFac || m_bDrawPhase)
|
||||
// {
|
||||
// temp = mrt.left()+2.*mrt.width()/nCol;
|
||||
// if ( m_bDrawFac )
|
||||
// DrawFac(pDC,mrt,1,temp,mrt.right());
|
||||
// else
|
||||
// DrawFac(pDC,mrt,2,temp,mrt.right());
|
||||
// pDC->drawLine(QPoint(temp,mrt.top()),QPoint(temp,mrt.bottom()));
|
||||
// }
|
||||
// }
|
||||
// // 绘制边框
|
||||
// if ( m_selection.count() > 0 )
|
||||
// {
|
||||
// CFracObj *pObj = m_selection[0];
|
||||
// if (pObj->m_bSelected !=0 )
|
||||
// {
|
||||
// CalQRectF(pObj,mrt,sdep,flDepthScale);
|
||||
// pObj->DrawTracker(pDC,selected,1);
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
#ifndef DrawFac_H
|
||||
#define DrawFac_H
|
||||
|
||||
#include <QObject>
|
||||
#include "qmycustomplot.h"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int iCode; //代码
|
||||
QString Fac; //相
|
||||
QString Phase; //亚相
|
||||
QString mFac; //微相
|
||||
}FAC_DEF;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int no;
|
||||
float sdep;
|
||||
float edep;
|
||||
char Fac[32];
|
||||
char Phase[32];
|
||||
char mFac[32];
|
||||
char Dest[32];
|
||||
}FAC_TABLE;
|
||||
|
||||
//沉积相
|
||||
class CDrawFac:public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CDrawFac(QMyCustomPlot *myCustomPlot, QString strSlfName, QString csCurve);
|
||||
virtual ~CDrawFac(void);
|
||||
|
||||
public:
|
||||
QList <FAC_DEF> m_FracDef;
|
||||
QList <FAC_TABLE> m_ObjList;
|
||||
|
||||
QMyCustomPlot *m_myCustomPlot;
|
||||
|
||||
public:
|
||||
void ReadFracDef();
|
||||
void ReadData(QString strSlfName, QString csCurve);
|
||||
void DrawFac(int iType);
|
||||
|
||||
public slots:
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -912,6 +912,8 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
|||
m_tdJiegutext->setUpper(-upper);
|
||||
//保存
|
||||
m_tdJiegutext->mPlot->SaveToSLF_Jiegutext();
|
||||
//重新加载数据
|
||||
m_tdJiegutext->ReLoadValues();
|
||||
}
|
||||
}
|
||||
else if("底深(m)" == m_propertyData[pProperty])
|
||||
|
|
@ -923,6 +925,8 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
|||
m_tdJiegutext->setLower(-lower);
|
||||
//保存
|
||||
m_tdJiegutext->mPlot->SaveToSLF_Jiegutext();
|
||||
//重新加载数据
|
||||
m_tdJiegutext->ReLoadValues();
|
||||
}
|
||||
}
|
||||
else if("显示名称" == m_propertyData[pProperty])
|
||||
|
|
@ -1041,6 +1045,11 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (m_strCurrentProperty == Fac_Property)//沉积相
|
||||
{
|
||||
//先处理通用属性
|
||||
CommonPropertyChanged(pProperty, variant);
|
||||
}
|
||||
|
||||
if("深度比例尺" == m_propertyData[pProperty])
|
||||
{
|
||||
|
|
@ -2219,6 +2228,11 @@ void PropertyWidget::initProperty(FormInfo *formInfo)
|
|||
//气测/FMT/射孔/文本
|
||||
this->initJiegutextProperty(formInfo);
|
||||
}
|
||||
else if (formInfo->m_strType == "LogfaceObject")
|
||||
{
|
||||
//沉积相
|
||||
this->initFacProperty(formInfo);
|
||||
}
|
||||
}
|
||||
|
||||
void PropertyWidget::initRoseProperty(FormInfo *formInfo)
|
||||
|
|
@ -2723,3 +2737,15 @@ void PropertyWidget::initJiegutextItemProperty(TransparentDraggableJiegutext* td
|
|||
_CreateVariantPropertyItem("当前项", "顶深(m)", -upper, QVariant::Double);
|
||||
_CreateVariantPropertyItem("当前项", "底深(m)", -lower, QVariant::Double);
|
||||
}
|
||||
|
||||
//沉积相
|
||||
void PropertyWidget::initFacProperty(FormInfo *formInfo)
|
||||
{
|
||||
_CreateVariantPropertyItem("通常", "选择井曲线", m_strLineName + "@" + m_strSlfName, QVariant::String);
|
||||
|
||||
_CreateVariantPropertyItem("对象", "显示名称", formInfo->m_strAliasName, QVariant::String);
|
||||
_CreateVariantPropertyItem("对象", "字体", formInfo->m_curveNameFont, QVariant::Font);
|
||||
_CreateVariantPropertyItem("对象", "颜色", formInfo->m_lineColor, QVariant::Color);
|
||||
|
||||
m_strCurrentProperty = Fac_Property;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,6 +58,8 @@
|
|||
#define Jiegutext_Property "Jiegutext_Property" //气测/FMT/射孔/文本
|
||||
#define JiegutextItem_Property "JiegutextItem_Property" //气测/FMT/射孔/文本item
|
||||
|
||||
#define Fac_Property "Fac_Property" //沉积相
|
||||
|
||||
#pragma execution_character_set("utf-8")
|
||||
|
||||
/**
|
||||
|
|
@ -188,6 +190,8 @@ public:
|
|||
void initJiegutextProperty(FormInfo *formInfo);
|
||||
void initJiegutextItemProperty(TransparentDraggableJiegutext* tdJiegutext, double lower, double upper);
|
||||
|
||||
//沉积相
|
||||
void initFacProperty(FormInfo *formInfo);
|
||||
|
||||
void ChangFillProperty();//填充属性改变
|
||||
void ChangHeadItemProperty();//图头项改变
|
||||
|
|
|
|||
|
|
@ -270,6 +270,8 @@ void TransparentDraggableJiegutext::setItemDepthOffset()
|
|||
|
||||
//保存
|
||||
mPlot->SaveToSLF_Jiegutext();
|
||||
//重新加载数据
|
||||
this->ReLoadValues();
|
||||
|
||||
//属性清空
|
||||
PropertyService()->InitCurrentViewInfo();
|
||||
|
|
@ -516,6 +518,38 @@ void TransparentDraggableJiegutext::setLower(double lower)
|
|||
setRange(newRange.lower, newRange.upper);
|
||||
}
|
||||
|
||||
//重新加载数据
|
||||
void TransparentDraggableJiegutext::ReLoadValues()
|
||||
{
|
||||
//
|
||||
FormInfo* pInfo = mPlot->m_formTrack->getFormInfoByParameters(mPlot->m_strUuid, mPlot->m_strWellName, mPlot->m_strTrackName, mPlot->m_strLineName);
|
||||
if (pInfo == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
//
|
||||
QCPRange tmpRange = getRange();
|
||||
QString strAliasName = pInfo->m_strAliasName;
|
||||
QStringList listAliasName = strAliasName.split("/");//QString字符串分割函数
|
||||
if(listAliasName.contains("SDEP") || listAliasName.contains("EDEP"))
|
||||
{
|
||||
for(int i=0; i<listAliasName.size(); i++)
|
||||
{
|
||||
if(listAliasName[i]=="SDEP")
|
||||
{
|
||||
mstrTitle[i] = QString::number(-tmpRange.upper);
|
||||
mItemTitle[i]->setText(mstrTitle[i]);
|
||||
}
|
||||
else if(listAliasName[i]=="EDEP")
|
||||
{
|
||||
mstrTitle[i] = QString::number(-tmpRange.lower);
|
||||
mItemTitle[i]->setText(mstrTitle[i]);
|
||||
}
|
||||
}
|
||||
mPlot->replot();
|
||||
}
|
||||
}
|
||||
|
||||
void TransparentDraggableJiegutext::onMouseRelease(QMouseEvent *event)
|
||||
{
|
||||
if(event->button() == Qt::LeftButton && mDragMode != DragNone) {
|
||||
|
|
@ -528,6 +562,8 @@ void TransparentDraggableJiegutext::onMouseRelease(QMouseEvent *event)
|
|||
PropertyService()->initJiegutextItemProperty(this, low, hight);
|
||||
//保存
|
||||
mPlot->SaveToSLF_Jiegutext();
|
||||
//重新加载数据
|
||||
this->ReLoadValues();
|
||||
|
||||
//取消所有选中单元格
|
||||
emit CallManage::getInstance()->sig_Raise(mPlot->m_strUuid, "", "", "", "", 0, "");
|
||||
|
|
|
|||
|
|
@ -40,6 +40,9 @@ public:
|
|||
//设置底深
|
||||
void setLower(double lower);
|
||||
|
||||
//重新加载数据
|
||||
void ReLoadValues();
|
||||
|
||||
signals:
|
||||
void rangeChanged(QCPRange newRange);
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@
|
|||
#include <QtMath>
|
||||
#include "Gradient.h"
|
||||
#include "PickFrac.h"
|
||||
#include "DrawFac.h"
|
||||
#include "ObjTubingstringResult.h"
|
||||
#include "DrawNrad.h"
|
||||
#include "formline.h"
|
||||
|
|
@ -89,7 +88,7 @@ FormDraw::FormDraw(QWidget *parent, QString strWellName, QString strTrackName) :
|
|||
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_AddLogface(QString, QString, QString, QString, QString, int)), this, SLOT(s_addLogface(QString, QString, QString, QString, QString,int)));
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_AddLogface(QString, QString, QString, QString, QString, int, QStringList)), this, SLOT(s_addLogface(QString, QString, QString, QString, QString,int, QStringList)));
|
||||
|
||||
//多臂井径
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_AddMCals(QString, QString, QString, QString, QString, int)), this, SLOT(s_addMCals(QString, QString, QString, QString, QString,int)));
|
||||
|
|
@ -314,6 +313,11 @@ void FormDraw::DisplayLines(QJsonArray linesArray)
|
|||
//气测/FMT/射孔/文本
|
||||
DisplayJiegutext_One(lineObjInfo);
|
||||
}
|
||||
else if (strType == "LogfaceObject")
|
||||
{
|
||||
//沉积相
|
||||
DisplayFac_One(lineObjInfo);
|
||||
}
|
||||
else
|
||||
{
|
||||
DisplayType_One(lineObjInfo);
|
||||
|
|
@ -623,6 +627,88 @@ void FormDraw::DisplayJiegutext_One(QJsonObject lineObjInfo)
|
|||
}
|
||||
}
|
||||
|
||||
//沉积相
|
||||
void FormDraw::DisplayFac_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());
|
||||
}
|
||||
|
||||
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());//名称字体
|
||||
//沉积相
|
||||
this->s_addLogface(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName, 0, listOtherProperty); //
|
||||
}
|
||||
}
|
||||
|
||||
void FormDraw::DisplayLine_One(QJsonObject lineObjInfo)
|
||||
{
|
||||
QString strSlfName = "";
|
||||
|
|
@ -2233,7 +2319,7 @@ void FormDraw::s_addSantuyibiao(QString strUuid, QString strSlfName, QString str
|
|||
return;
|
||||
}
|
||||
|
||||
if(m_listLineName.contains(strLineName))
|
||||
if(m_listTableName.contains(strLineName))
|
||||
{
|
||||
qDebug() << "FormDraw strLineName already exist! " << strLineName;
|
||||
return;
|
||||
|
|
@ -2269,7 +2355,7 @@ void FormDraw::s_addSantuyibiao(QString strUuid, QString strSlfName, QString str
|
|||
// connect(curv, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*)));
|
||||
|
||||
//
|
||||
m_listLineName.push_back(strLineName);
|
||||
m_listTableName.push_back(strLineName);
|
||||
|
||||
QString strAliasName = "斜井三图一表";
|
||||
QString strUnit = "";
|
||||
|
|
@ -2293,7 +2379,7 @@ void FormDraw::s_addCrack(QString strUuid, QString strSlfName, QString strWellNa
|
|||
return;
|
||||
}
|
||||
|
||||
if(m_listLineName.contains(strLineName))
|
||||
if(m_listTableName.contains(strLineName))
|
||||
{
|
||||
qDebug() << "FormDraw strLineName already exist! " << strLineName;
|
||||
return;
|
||||
|
|
@ -2360,7 +2446,7 @@ void FormDraw::s_addCrack(QString strUuid, QString strSlfName, QString strWellNa
|
|||
connect(curv, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*)));
|
||||
|
||||
//
|
||||
m_listLineName.push_back(strLineName);
|
||||
m_listTableName.push_back(strLineName);
|
||||
|
||||
QString strAliasName = "裂缝描述";
|
||||
QString strUnit = "";
|
||||
|
|
@ -2383,7 +2469,7 @@ void FormDraw::s_addJiegutext(QString strUuid, QString strSlfName, QString strWe
|
|||
return;
|
||||
}
|
||||
|
||||
if(m_listLineName.contains(strLineName))
|
||||
if(m_listTableName.contains(strLineName))
|
||||
{
|
||||
qDebug() << "FormDraw strLineName already exist! " << strLineName;
|
||||
return;
|
||||
|
|
@ -2476,7 +2562,7 @@ void FormDraw::s_addJiegutext(QString strUuid, QString strSlfName, QString strWe
|
|||
connect(curv, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*)));
|
||||
|
||||
//
|
||||
m_listLineName.push_back(strLineName);
|
||||
m_listTableName.push_back(strLineName);
|
||||
|
||||
QString strUnit = "";
|
||||
double width=2;
|
||||
|
|
@ -2495,7 +2581,7 @@ void FormDraw::s_addJiegutext(QString strUuid, QString strSlfName, QString strWe
|
|||
}
|
||||
|
||||
//沉积相
|
||||
void FormDraw::s_addLogface(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW)
|
||||
void FormDraw::s_addLogface(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW, QStringList listOtherProperty)
|
||||
{
|
||||
//井名&道名不一致
|
||||
if(strUuid == m_strUuid && m_strWellName == strWellName && m_strTrackName == strTrackName)
|
||||
|
|
@ -2506,7 +2592,7 @@ void FormDraw::s_addLogface(QString strUuid, QString strSlfName, QString strWell
|
|||
return;
|
||||
}
|
||||
|
||||
if(m_listLineName.contains(strLineName))
|
||||
if(m_listTableName.contains(strLineName))
|
||||
{
|
||||
qDebug() << "FormDraw strLineName already exist! " << strLineName;
|
||||
return;
|
||||
|
|
@ -2564,22 +2650,28 @@ void FormDraw::s_addLogface(QString strUuid, QString strSlfName, QString strWell
|
|||
curv->yAxis = xAxis;
|
||||
|
||||
//沉积相
|
||||
QString strWaveName = "LITHA";
|
||||
CDrawFac *drawFac = new CDrawFac(curv, strSlfName, strWaveName);
|
||||
//QString strWaveName = "LITHA";
|
||||
curv->LoadFromSLF_Fac(strSlfName, strLineName);
|
||||
|
||||
//
|
||||
connect(curv, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*)));
|
||||
|
||||
//
|
||||
m_listLineName.push_back(strLineName);
|
||||
m_listTableName.push_back(strLineName);
|
||||
|
||||
QString strAliasName = "沉积相";
|
||||
QString strUnit = "";
|
||||
QColor newlineColor=QColor(0,0,0);
|
||||
if(listOtherProperty.size()>=3)
|
||||
{
|
||||
strAliasName = listOtherProperty[0];
|
||||
newlineColor.setNamedColor(listOtherProperty[1]);
|
||||
}
|
||||
|
||||
QString strUnit = "";
|
||||
double width=2;
|
||||
QString strScaleType = "";
|
||||
//道-对象
|
||||
m_formTrack->Add(strSlfName, m_strWellName, m_strTrackName, strWaveName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "LogfaceObject");
|
||||
m_formTrack->Add(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "LogfaceObject", listOtherProperty);
|
||||
}
|
||||
|
||||
//多臂井径
|
||||
|
|
@ -2682,7 +2774,7 @@ void FormDraw::s_addTubingstring(QString strUuid, QString strSlfName, QString st
|
|||
return;
|
||||
}
|
||||
|
||||
if(m_listLineName.contains(strLineName))
|
||||
if(m_listTableName.contains(strLineName))
|
||||
{
|
||||
qDebug() << "FormDraw strLineName already exist! " << strLineName;
|
||||
return;
|
||||
|
|
@ -2754,7 +2846,7 @@ void FormDraw::s_addTubingstring(QString strUuid, QString strSlfName, QString st
|
|||
connect(curv, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*)));
|
||||
|
||||
//
|
||||
m_listLineName.push_back(strLineName);
|
||||
m_listTableName.push_back(strLineName);
|
||||
|
||||
QString strAliasName = "套管组件";
|
||||
QString strUnit = "";
|
||||
|
|
|
|||
|
|
@ -66,6 +66,9 @@ public:
|
|||
//气测/FMT/射孔/文本
|
||||
void DisplayJiegutext_One(QJsonObject lineObjInfo);
|
||||
|
||||
//沉积相
|
||||
void DisplayFac_One(QJsonObject lineObjInfo);
|
||||
|
||||
// 跨道设置
|
||||
void crossTrackSetting();
|
||||
|
||||
|
|
@ -254,7 +257,7 @@ public slots:
|
|||
void s_addJiegutext(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW, QStringList listOtherProperty);
|
||||
|
||||
//沉积相
|
||||
void s_addLogface(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW);
|
||||
void s_addLogface(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW, QStringList listOtherProperty);
|
||||
|
||||
//多臂井径
|
||||
void s_addMCals(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW);
|
||||
|
|
|
|||
|
|
@ -164,7 +164,13 @@ QJsonObject FormInfo::makeJson()
|
|||
else if (m_strType == "JiegutextObject")
|
||||
{
|
||||
//气测/FMT/射孔/文本
|
||||
//rootObj["OilZhan"] = m_dOilZhan;//含油占比
|
||||
|
||||
//item属性写入slf文件,不需要此次记录
|
||||
return rootObj;
|
||||
}
|
||||
else if (m_strType == "LogfaceObject")
|
||||
{
|
||||
//沉积相
|
||||
|
||||
//item属性写入slf文件,不需要此次记录
|
||||
return rootObj;
|
||||
|
|
@ -1009,6 +1015,14 @@ void FormInfo::contextMenuEvent(QContextMenuEvent *event)
|
|||
menu.addAction(QIcon(::GetImagePath() + "icon/Delete.png"), "删除当前对象", this, &FormInfo::onDeleteTable);
|
||||
menu.exec(event->globalPos());
|
||||
}
|
||||
else if(m_strType=="LogfaceObject")
|
||||
{
|
||||
//沉积相
|
||||
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());
|
||||
}
|
||||
}
|
||||
|
||||
//曲线数据查看
|
||||
|
|
|
|||
|
|
@ -99,8 +99,8 @@ FormTrack::FormTrack(QWidget *parent, QString strWellName, QString strTrackName)
|
|||
this, SLOT(s_addJiegutext(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)),
|
||||
this, SLOT(s_addLogface(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)));
|
||||
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)));
|
||||
|
||||
//多臂井径
|
||||
connect(this, SIGNAL(sig_AddMCals(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)),
|
||||
|
|
@ -259,7 +259,7 @@ void FormTrack::Add(QString strSlfName, QString strWellName, QString strTrackNam
|
|||
}
|
||||
else if(strType=="LogfaceObject")
|
||||
{
|
||||
emit sig_AddLogface(strSlfName, strWellName, m_strTrackName, strLineName, strAliasName, strUnit, lineColor, dWidth, vmax, vmin, strScaleType);
|
||||
emit sig_AddLogface(strSlfName, strWellName, m_strTrackName, strLineName, strAliasName, strUnit, lineColor, dWidth, vmax, vmin, strScaleType, listOtherProperty);
|
||||
}
|
||||
else if(strType=="MCalsObject")
|
||||
{
|
||||
|
|
@ -973,7 +973,7 @@ void FormTrack::s_addJiegutext(QString strSlfName, QString strWellName, QString
|
|||
}
|
||||
|
||||
//沉积相
|
||||
void FormTrack::s_addLogface(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType)
|
||||
void FormTrack::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)
|
||||
{
|
||||
qDebug() << "FormTrack s_addLogface";
|
||||
|
||||
|
|
@ -998,6 +998,13 @@ void FormTrack::s_addLogface(QString strSlfName, QString strWellName, QString st
|
|||
formInfo->setVMin(vmin);
|
||||
formInfo->setFrontColor(QColor(0,0,0));
|
||||
formInfo->setBackColor(QColor(255,255,255));
|
||||
//
|
||||
if(listOtherProperty.size()>=3)
|
||||
{
|
||||
QFont curveNameFont("微软雅黑", 10); // 名称字体
|
||||
curveNameFont.fromString(listOtherProperty[2]);
|
||||
formInfo->m_curveNameFont = curveNameFont;
|
||||
}
|
||||
//设置高度
|
||||
ui->tableWidget->setRowHeight(row, 100);
|
||||
//单元格委托
|
||||
|
|
|
|||
|
|
@ -92,7 +92,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_AddLogface(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType);
|
||||
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);
|
||||
|
||||
|
|
@ -114,7 +114,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_addLogface(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType);
|
||||
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);
|
||||
void s_addTDT(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType);
|
||||
|
|
|
|||
82
logPlus/fracsel.cpp
Normal file
82
logPlus/fracsel.cpp
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
#include "fracsel.h"
|
||||
#include "ui_fracsel.h"
|
||||
#include <QFile>
|
||||
#include <QTextStream>
|
||||
|
||||
double g_SDepthFac = 0;
|
||||
double g_EDepthFac = 0;
|
||||
QString g_SelectMFac = "";
|
||||
|
||||
FracSel::FracSel(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::FracSel)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
//加载样式
|
||||
//setStyleSheet("QDialog { background-color: #FFFFFF; } QComboBox,QLineEdit {border-width:1px; border-radius:0px;}");
|
||||
loadStyle(":/qrc/qss/flatgray.css");
|
||||
|
||||
//
|
||||
connect(ui->ok, SIGNAL(clicked()), this, SLOT(slotOkClicked()));
|
||||
connect(ui->cancel, SIGNAL(clicked()), this, SLOT(slotCancelClicked()));
|
||||
}
|
||||
|
||||
FracSel::~FracSel()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void FracSel::loadStyle(const QString &qssFile)
|
||||
{
|
||||
//加载样式表
|
||||
QString qss;
|
||||
QFile file(qssFile);
|
||||
if (file.open(QFile::ReadOnly)) {
|
||||
//用QTextStream读取样式文件不用区分文件编码 带bom也行
|
||||
QStringList list;
|
||||
QTextStream in(&file);
|
||||
//in.setCodec("utf-8");
|
||||
while (!in.atEnd()) {
|
||||
QString line;
|
||||
in >> line;
|
||||
list << line;
|
||||
}
|
||||
|
||||
file.close();
|
||||
qss = list.join("\n");
|
||||
QString paletteColor = qss.mid(20, 7);
|
||||
this->setPalette(QPalette(paletteColor));
|
||||
//用时主要在下面这句
|
||||
this->setStyleSheet(qss);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void FracSel::setInfo(double right_Hight, QList <FAC_DEF> FracDef)
|
||||
{
|
||||
ui->doubleSpinBox_1->setValue(-right_Hight);
|
||||
ui->doubleSpinBox_2->setValue(-right_Hight+1);
|
||||
for(int i=0; i<FracDef.size(); i++)
|
||||
{
|
||||
ui->comboBox->addItem(FracDef[i].mFac);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
void FracSel::slotOkClicked()
|
||||
{
|
||||
g_SDepthFac = ui->doubleSpinBox_1->value();
|
||||
g_EDepthFac = ui->doubleSpinBox_2->value();
|
||||
g_SelectMFac = ui->comboBox->currentText();
|
||||
|
||||
//关闭
|
||||
accept(); // 让 QDialog::exec() 返回 QDialog::Accepted
|
||||
//QDialog::close();
|
||||
}
|
||||
|
||||
//
|
||||
void FracSel::slotCancelClicked()
|
||||
{
|
||||
reject(); // 让 QDialog::exec() 返回 QDialog::Rejected
|
||||
//QDialog::close();
|
||||
}
|
||||
33
logPlus/fracsel.h
Normal file
33
logPlus/fracsel.h
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
#ifndef FRACSEL_H
|
||||
#define FRACSEL_H
|
||||
|
||||
#include <QDialog>
|
||||
#include "qmycustomplot.h"
|
||||
|
||||
namespace Ui {
|
||||
class FracSel;
|
||||
}
|
||||
|
||||
class FracSel : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit FracSel(QWidget *parent = nullptr);
|
||||
~FracSel();
|
||||
|
||||
private:
|
||||
Ui::FracSel *ui;
|
||||
|
||||
public:
|
||||
void loadStyle(const QString &qssFile);
|
||||
void setInfo(double right_Hight, QList <FAC_DEF> FracDef);
|
||||
|
||||
|
||||
public slots:
|
||||
void slotOkClicked();
|
||||
void slotCancelClicked();
|
||||
|
||||
};
|
||||
|
||||
#endif // FRACSEL_H
|
||||
136
logPlus/fracsel.ui
Normal file
136
logPlus/fracsel.ui
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>FracSel</class>
|
||||
<widget class="QDialog" name="FracSel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>300</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>添加微相</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,1">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_1">
|
||||
<property name="text">
|
||||
<string>输入微相开始深度(m)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDoubleSpinBox" name="doubleSpinBox_1">
|
||||
<property name="maximum">
|
||||
<double>9999.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="1,1">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>输入微相结束深度(m)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDoubleSpinBox" name="doubleSpinBox_2">
|
||||
<property name="maximum">
|
||||
<double>9999.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3" stretch="1,1">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string> 选择微相</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBox"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="ok">
|
||||
<property name="text">
|
||||
<string>确定</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="cancel">
|
||||
<property name="text">
|
||||
<string>放弃</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
|
@ -33,7 +33,6 @@ SOURCES += \
|
|||
ConsoleOutputWidget.cpp \
|
||||
CurveLine.cpp \
|
||||
DepPairs.cpp \
|
||||
DrawFac.cpp \
|
||||
DrawNrad.cpp \
|
||||
DrawTvd.cpp \
|
||||
GeoIndicatorGenerator.cpp \
|
||||
|
|
@ -71,6 +70,7 @@ SOURCES += \
|
|||
formtrack.cpp \
|
||||
formtracktop.cpp \
|
||||
formwell.cpp \
|
||||
fracsel.cpp \
|
||||
mainwindow.cpp \
|
||||
main.cpp \
|
||||
mainwindowcurve.cpp \
|
||||
|
|
@ -97,7 +97,6 @@ HEADERS += \
|
|||
CurveLine.h \
|
||||
DepPairs.h \
|
||||
DraggablePixmap.h \
|
||||
DrawFac.h \
|
||||
DrawNrad.h \
|
||||
DrawTvd.h \
|
||||
GeoIndicatorGenerator.h \
|
||||
|
|
@ -135,6 +134,7 @@ HEADERS += \
|
|||
formtrack.h \
|
||||
formtracktop.h \
|
||||
formwell.h \
|
||||
fracsel.h \
|
||||
mainwindow.h \
|
||||
mainwindowcurve.h \
|
||||
newheaddialog.h \
|
||||
|
|
@ -162,6 +162,7 @@ FORMS += \
|
|||
formtrack.ui \
|
||||
formtracktop.ui \
|
||||
formwell.ui \
|
||||
fracsel.ui \
|
||||
interfaceWidget.ui \
|
||||
mainwindow.ui \
|
||||
mainwindowcurve.ui \
|
||||
|
|
|
|||
|
|
@ -3240,7 +3240,18 @@ void MainWindowCurve::s_NewJiegutext()
|
|||
//沉积相
|
||||
void MainWindowCurve::s_NewLogface()
|
||||
{
|
||||
QStringList sret = this->getSelectWell();
|
||||
// QStringList sret = this->getSelectWell();
|
||||
// if(sret.length() <= 0)
|
||||
// return;
|
||||
|
||||
//选中道
|
||||
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, "IMAGE_DATA");
|
||||
return;
|
||||
}
|
||||
|
||||
QStringList sret = this->getSelectWell_New();
|
||||
if(sret.length() <= 0)
|
||||
return;
|
||||
|
||||
|
|
|
|||
|
|
@ -22,10 +22,15 @@
|
|||
#include "MemRdWt.h"
|
||||
#include "PropertyWidget.h"
|
||||
#include "YxzpDialog.h"
|
||||
#include "fracsel.h"
|
||||
|
||||
//是否隐藏刻度
|
||||
extern int g_iShow;
|
||||
extern double g_dPixelPerCm;//每厘米像素数
|
||||
//沉积相
|
||||
extern double g_SDepthFac;
|
||||
extern double g_EDepthFac;
|
||||
extern QString g_SelectMFac;
|
||||
|
||||
QMyCustomPlot::QMyCustomPlot(QWidget *parent, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName) :
|
||||
QCustomPlot(parent)
|
||||
|
|
@ -1284,6 +1289,14 @@ void QMyCustomPlot::contextMenuEvent(QContextMenuEvent *event)
|
|||
menu.addAction(QIcon(::GetImagePath() + "icon/CopyCoreTxt.png"), "刷新数据", this, &QMyCustomPlot::RefreshItems_Jiegutext);
|
||||
menu.exec(event->globalPos());
|
||||
}
|
||||
else if (strType == "LogfaceObject")
|
||||
{
|
||||
QMenu menu(this);
|
||||
//沉积相
|
||||
menu.addAction(QIcon(::GetImagePath() + "icon/add_frac.png"), "添加沉积相", this, &QMyCustomPlot::addItem_Fac);
|
||||
//menu.addAction(QIcon(::GetImagePath() + "icon/Layer.png"), "沉积相自动描述", this, &QMyCustomPlot::ChangeDep);
|
||||
menu.exec(event->globalPos());
|
||||
}
|
||||
}
|
||||
|
||||
//右键--添加分段线
|
||||
|
|
@ -5973,6 +5986,8 @@ void QMyCustomPlot::s_changeJiegutextTitle(QString strUuid, QString strSlfName,
|
|||
//重新加载
|
||||
//QString strAliasName = "气测-FMT-射孔-文本";
|
||||
LoadFromSLF_Jiegutext(m_strSlfName, m_strLineName, strAliasName);
|
||||
//属性清空(LoadFromSLF_Jiegutext内部调用)
|
||||
//PropertyService()->InitCurrentViewInfo();
|
||||
}
|
||||
|
||||
//改变录井剖面属性
|
||||
|
|
@ -6476,6 +6491,9 @@ bool QMyCustomPlot::LoadFromSLF_Jiegutext(QString strSlfName, QString csCurve, Q
|
|||
pInfo->m_FieldNameList.append(this->m_FieldNameList);
|
||||
pInfo->update();
|
||||
|
||||
//属性清空
|
||||
PropertyService()->InitCurrentViewInfo();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -6860,8 +6878,8 @@ void QMyCustomPlot::RefreshItems_Jiegutext()
|
|||
QString strAliasName = pInfo->m_strAliasName;
|
||||
//加载
|
||||
this->LoadFromSLF_Jiegutext(m_strSlfName, m_strLineName, strAliasName);
|
||||
//属性清空
|
||||
PropertyService()->InitCurrentViewInfo();
|
||||
//属性清空(LoadFromSLF_Jiegutext内部调用)
|
||||
//PropertyService()->InitCurrentViewInfo();
|
||||
}
|
||||
|
||||
void QMyCustomPlot::onOpenEditResult()
|
||||
|
|
@ -7442,3 +7460,196 @@ bool QMyCustomPlot::getIsEditor()
|
|||
return true;
|
||||
}
|
||||
|
||||
//沉积相
|
||||
void QMyCustomPlot::ReadFracDef()
|
||||
{
|
||||
m_FracDef.clear();
|
||||
|
||||
QString fracFilePath = GetConfPath() + "GEoFac.ini";
|
||||
|
||||
//
|
||||
FAC_DEF fd;
|
||||
char str[512],fac[512],phase[64],mFac[64];
|
||||
int r,g,b,id;
|
||||
FILE *fp;
|
||||
QString qs;
|
||||
fp = fopen(fracFilePath.toStdString().c_str(), "r");
|
||||
if ( fp != nullptr )
|
||||
{
|
||||
fgets(str,256,fp); // 跳过第一行
|
||||
while (!feof(fp))
|
||||
{
|
||||
fgets(str,256,fp);
|
||||
qs = str;
|
||||
qs.trimmed();
|
||||
if (qs.length() < 8) break ;
|
||||
//代码 微相 亚相 相
|
||||
sscanf(str,"%d %s %s %s",&fd.iCode,mFac,phase,fac);
|
||||
fd.mFac = mFac;
|
||||
fd.Fac = fac;
|
||||
fd.Phase = phase;
|
||||
m_FracDef.append(fd);
|
||||
if ( feof(fp))
|
||||
break;
|
||||
}
|
||||
fclose(fp);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(fac,"打开沉积相参数配置文件错误:%s!",str);
|
||||
QMessageBox::information(nullptr, "读取文件失败", fac);
|
||||
}
|
||||
}
|
||||
|
||||
void QMyCustomPlot::ReadData_Fac(QString strSlfName, QString csCurve)
|
||||
{
|
||||
if(strSlfName.isEmpty()) return;
|
||||
//清空
|
||||
m_ObjList_Fac.clear();
|
||||
|
||||
QString cs;
|
||||
int nLineWidth=2;
|
||||
int nField;
|
||||
QColor crColor(255,0,0);
|
||||
FAC_TABLE frac;
|
||||
CMemRdWt mrw;
|
||||
char strFracTable[256];
|
||||
int i,j,iIndex,nCount,iType=1;
|
||||
|
||||
if (mrw.Open(strSlfName.toStdString().c_str()) ) // 打开井文件
|
||||
{
|
||||
iIndex=mrw.OpenTable(csCurve.toStdString().c_str());
|
||||
if(iIndex>=0)
|
||||
{
|
||||
nField=mrw.GetTableFieldCount(iIndex);
|
||||
nCount=mrw.GetTableRecordCount(iIndex);
|
||||
cs ="";
|
||||
if ( nField != 7 )
|
||||
nCount = 0;
|
||||
for(i=0;i<nCount;i++)
|
||||
{
|
||||
mrw.ReadTable(iIndex,i+1,(void*)&frac);
|
||||
m_ObjList_Fac.append(frac);
|
||||
|
||||
//微相
|
||||
this->addMFacToPlot(-frac.edep, -frac.sdep, QString::fromLocal8Bit(frac.mFac));
|
||||
}
|
||||
mrw.CloseTable(iIndex);
|
||||
}
|
||||
mrw.Close(); //关闭井文件
|
||||
}
|
||||
}
|
||||
|
||||
void QMyCustomPlot::DrawFac(int iType)
|
||||
{
|
||||
int j;
|
||||
float dep1,dep2;
|
||||
float top,bottom;
|
||||
QString str1,str2;
|
||||
QColor crColor(0,0,0);
|
||||
QPen qPen(crColor, 1, Qt::SolidLine);
|
||||
if ( m_ObjList_Fac.count()<2 )
|
||||
return ;
|
||||
|
||||
//绘制相、亚相
|
||||
FAC_TABLE pObj;
|
||||
pObj =m_ObjList_Fac[0];
|
||||
if (iType==1)
|
||||
str1 = QString::fromLocal8Bit(pObj.Fac);
|
||||
else
|
||||
str1 = QString::fromLocal8Bit(pObj.Phase);
|
||||
str1.trimmed();
|
||||
top = pObj.sdep;
|
||||
|
||||
for (j=1;j<m_ObjList_Fac.count(); j++)
|
||||
{
|
||||
pObj =m_ObjList_Fac[j];
|
||||
|
||||
if (iType==1)
|
||||
str2= QString::fromLocal8Bit(pObj.Fac);
|
||||
else
|
||||
str2 = QString::fromLocal8Bit(pObj.Phase);
|
||||
str2.trimmed();
|
||||
|
||||
if (str2!=str1 || j==(m_ObjList_Fac.count()-1))
|
||||
{
|
||||
if ( j==(m_ObjList_Fac.count()-1))
|
||||
bottom = m_ObjList_Fac[j].edep;
|
||||
else
|
||||
bottom = m_ObjList_Fac[j-1].edep;
|
||||
|
||||
|
||||
//显示文本
|
||||
if (iType==1)
|
||||
{
|
||||
//相
|
||||
this->addFacToPlot(-bottom, -top, str1);
|
||||
}
|
||||
else
|
||||
{
|
||||
//亚相
|
||||
this->addPhaseToPlot(-bottom, -top, str1);
|
||||
}
|
||||
|
||||
top = pObj.sdep;
|
||||
str1=str2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool QMyCustomPlot::LoadFromSLF_Fac(QString strSlfName, QString csCurve)
|
||||
{
|
||||
//隐藏刻度
|
||||
this->xAxis->setTicks(false);
|
||||
this->yAxis->setTicks(false);
|
||||
this->xAxis2->setTicks(false);
|
||||
this->yAxis2->setTicks(false);
|
||||
|
||||
//画2条竖线
|
||||
int iMyWidth = this->axisRect(0)->width();
|
||||
QCPItemStraightLine *qcpItemLine = new QCPItemStraightLine(this);
|
||||
qcpItemLine->point1->setCoords(-1, iMyWidth/2);//位置
|
||||
qcpItemLine->point2->setCoords(-2, iMyWidth/2);//位置
|
||||
//qcpItemLine->setPen(pPenStraightLine);
|
||||
|
||||
QCPItemStraightLine *qcpItemLine2 = new QCPItemStraightLine(this);
|
||||
qcpItemLine2->point1->setCoords(-1, 3*iMyWidth/4);//位置
|
||||
qcpItemLine2->point2->setCoords(-2, 3*iMyWidth/4);//位置
|
||||
|
||||
ReadFracDef();
|
||||
|
||||
ReadData_Fac(strSlfName, csCurve);
|
||||
DrawFac(1);//相
|
||||
DrawFac(2);//亚相
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//添加沉积相
|
||||
void QMyCustomPlot::addItem_Fac()
|
||||
{
|
||||
double right_Hight = xAxis->pixelToCoord(m_event->pos().y());//x轴展示深度
|
||||
|
||||
// 创建对话框
|
||||
FracSel *dlg = new FracSel(this);
|
||||
dlg->setInfo(right_Hight, m_FracDef);
|
||||
//
|
||||
dlg->setAttribute(Qt::WA_DeleteOnClose);//关闭时,自动删除窗口对象
|
||||
int result = dlg->exec();//模态对话框
|
||||
if (result == QDialog::Accepted) {
|
||||
// 处理用户点击了确定按钮的逻辑
|
||||
qDebug() << "Accepted=";
|
||||
|
||||
//微相
|
||||
this->addMFacToPlot(-g_EDepthFac, -g_SDepthFac, g_SelectMFac);
|
||||
this->replot();
|
||||
}
|
||||
else if (result == QDialog::Rejected) {
|
||||
// 处理用户点击了取消按钮的逻辑
|
||||
qDebug() << "Rejected=";
|
||||
}
|
||||
else {
|
||||
// 处理其他情况的逻辑
|
||||
qDebug() << "other=";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,25 @@ struct Slf_JIEGUPOS {
|
|||
char Dest[64];
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int iCode; //代码
|
||||
QString Fac; //相
|
||||
QString Phase; //亚相
|
||||
QString mFac; //微相
|
||||
}FAC_DEF;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int no;
|
||||
float sdep;
|
||||
float edep;
|
||||
char Fac[32];
|
||||
char Phase[32];
|
||||
char mFac[32];
|
||||
char Dest[32];
|
||||
}FAC_TABLE;
|
||||
|
||||
class TransparentGroupResult;
|
||||
class QMyCustomPlot : public QCustomPlot
|
||||
{
|
||||
|
|
@ -236,6 +255,14 @@ public:
|
|||
bool LoadFromSLF_Jiegutext(QString strSlfName, QString csCurve, QString strAliasName);
|
||||
bool SaveToSLF_Jiegutext();
|
||||
|
||||
//沉积相
|
||||
QList <FAC_DEF> m_FracDef;
|
||||
QList <FAC_TABLE> m_ObjList_Fac;
|
||||
void ReadFracDef();
|
||||
void ReadData_Fac(QString strSlfName, QString csCurve);
|
||||
void DrawFac(int iType);
|
||||
bool LoadFromSLF_Fac(QString strSlfName, QString csCurve);
|
||||
|
||||
public slots:
|
||||
void slot_time();
|
||||
|
||||
|
|
@ -400,6 +427,9 @@ public slots:
|
|||
void DeleteItems_Jiegutext(); //全部清空
|
||||
void RefreshItems_Jiegutext(); //刷新数据
|
||||
|
||||
//右键--沉积相
|
||||
void addItem_Fac(); //添加沉积相
|
||||
|
||||
//右键--解释结论
|
||||
void onOpenEditResult();
|
||||
void onCloseEditResult();
|
||||
|
|
@ -444,6 +474,7 @@ public slots:
|
|||
|
||||
//改变固井曲线名
|
||||
void s_changeGujingLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strNewLineName);
|
||||
|
||||
//改变曲线名 //气测/FMT/射孔/文本
|
||||
void s_changeJiegutextLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strNewLineName);
|
||||
void s_changeJiegutextTitle(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName);
|
||||
|
|
|
|||
|
|
@ -661,12 +661,12 @@ margin:0px;
|
|||
}
|
||||
|
||||
QTableView QLineEdit,QTableView QComboBox,QTableView QSpinBox,QTableView QDoubleSpinBox,QTableView QDateEdit,QTableView QTimeEdit,QTableView QDateTimeEdit{
|
||||
border-width:0px;
|
||||
border-width:1px;
|
||||
border-radius:0px;
|
||||
}
|
||||
|
||||
QTableView QLineEdit:focus,QTableView QComboBox:focus,QTableView QSpinBox:focus,QTableView QDoubleSpinBox:focus,QTableView QDateEdit:focus,QTableView QTimeEdit:focus,QTableView QDateTimeEdit:focus{
|
||||
border-width:0px;
|
||||
border-width:1px;
|
||||
border-radius:0px;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user