气测-管柱-文本-FMT-射孔,属性处理

This commit is contained in:
jiayulong 2026-03-12 15:37:33 +08:00
parent 69ee917963
commit 9538a549f6
16 changed files with 713 additions and 229 deletions

View File

@ -74,7 +74,7 @@ signals:
void sig_AddCrack(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW = 0); void sig_AddCrack(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW = 0);
//气测/FMT/射孔/文本 //气测/FMT/射孔/文本
void sig_AddJiegutext(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW = 0); void sig_AddJiegutext(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW = 0, QStringList listOtherProperty={});
//多臂井径 //多臂井径
void sig_AddMCals(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW = 0); void sig_AddMCals(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW = 0);
@ -208,6 +208,9 @@ signals:
//改变固井曲线名 //改变固井曲线名
void sig_changeGujingLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strNewLineName); void sig_changeGujingLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strNewLineName);
//改变曲线名 //气测/FMT/射孔/文本
void sig_changeJiegutextLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strNewLineName);
void sig_changeJiegutextTitle(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName);
//改变录井剖面属性 //改变录井剖面属性
void sig_changeGeoLithLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double dOilZhan); void sig_changeGeoLithLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double dOilZhan);

View File

@ -1,87 +0,0 @@
#include "ObjTextResult.h"
#include "MemRdWt.h"
#include "geometryutils.h"
//气测/FMT/射孔/文本
CObjTextResult::CObjTextResult()
{
}
CObjTextResult::~CObjTextResult()
{
};
bool CObjTextResult::LoadFromSLF(QMyCustomPlot *widget, QString strSlfName, QString csCurve)
{
Slf_TxtPOS *m_pResult=NULL;
CMemRdWt *logio=new CMemRdWt();
if(strSlfName==""||!logio->Open(strSlfName.toStdString().c_str(),CSlfIO::modeRead))
{
delete logio;
// QMessageBox::information(NULL,"提示","SLF文件打开失败请检查",QMessageBox::Yes);
return false;
}
int iIndex=logio->OpenTable(csCurve.toStdString().c_str());
if(iIndex>-1) {
int count = logio->GetTableRecordCount(iIndex);
int fieldnum = logio->GetTableFieldCount(iIndex);
int len = logio->GetTableRecordLength(iIndex);
Slf_TABLE_FIELD *pField=new Slf_TABLE_FIELD[fieldnum+1];
logio->GetTableFieldInfo(iIndex,pField);
m_FieldNameList.clear();
m_FieldUnitList.clear();
m_FieldHZNameList.clear();
m_FieldHZUnitList.clear();
//
for(int i=0;i<fieldnum;i++)
{
m_FieldNameList.push_back(QString::fromLocal8Bit(pField[i].Name));
m_FieldHZNameList.push_back(QString::fromLocal8Bit(pField[i].HZName));
m_FieldUnitList.push_back(QString::fromLocal8Bit(pField[i].Unit));
m_FieldHZUnitList.push_back(QString::fromLocal8Bit(pField[i].HZUnit));
}
delete pField;
//
m_pResult=(Slf_TxtPOS *)new char[len+1];
char buf[200];
for(int i=0;i<count;i++) {
logio->GetTableFieldData(iIndex,0,buf,i+1);
m_pResult->Order=atof(buf);
logio->GetTableFieldData(iIndex,1,buf,i+1);
m_pResult->Depth=atof(buf);
logio->GetTableFieldData(iIndex,2,buf,i+1);
m_pResult->CorrDepth=atof(buf);
double top=m_pResult->Depth;
double bottom=m_pResult->Depth;
if(m_FieldNameList.size()>2&&
(m_FieldNameList[2].indexOf("EDEP")>-1 ||
m_FieldNameList[2].indexOf("ENDEP")>-1)
)
{
bottom=m_pResult->CorrDepth;
}
CoreValues.clear();
ValueTypes.clear();
for(int j=0;j<fieldnum;j++)
{
int iType = logio->GetTableFieldData(iIndex,j,buf,i+1);
ValueTypes.append(iType);
float val=0;
val=atof(buf);
CoreValues.append(QString::number(val));
}
//
widget->addJiegutextToPlot(-bottom, -top, CoreValues, iMaxNum);
}
logio->CloseTable(iIndex);
delete m_pResult;
}
delete logio;
return true;
}

View File

@ -1,40 +0,0 @@
#ifndef OBTextRESULTITEM_H
#define OBTextRESULTITEM_H
#include <QObject>
#include "qmycustomplot.h"
//#define CoreWidth 0.5
//#define CoreHeight 0.05
struct Slf_TxtPOS {
int Order;
float Depth;
float CorrDepth;
};
class CObjTextResult :public QObject
{
Q_OBJECT
public:
CObjTextResult();
virtual ~CObjTextResult();
virtual bool LoadFromSLF(QMyCustomPlot *widget, QString strSlfName, QString csCurve);
protected:
public:
QStringList m_FieldNameList;
QStringList m_FieldHZNameList;
QStringList m_FieldUnitList;
QStringList m_FieldHZUnitList;
QList<int> ValueTypes;
QStringList CoreValues;
int iMaxNum = 0;
private:
};
#endif

View File

@ -779,6 +779,125 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
emit CallManage::getInstance()->sig_changeGeoLithShow(m_formInfo->m_strUuid, m_formInfo->m_strSlfName, m_formInfo->m_strWellName, m_formInfo->m_strTrackName, m_formInfo->m_strLineName, m_propertyData[pProperty], bShow); emit CallManage::getInstance()->sig_changeGeoLithShow(m_formInfo->m_strUuid, m_formInfo->m_strSlfName, m_formInfo->m_strWellName, m_formInfo->m_strTrackName, m_formInfo->m_strLineName, m_propertyData[pProperty], bShow);
} }
} }
else if (m_strCurrentProperty == Jiegutext_Property)//气测/FMT/射孔/文本
{
//先处理通用属性
//CommonPropertyChanged(pProperty, variant);
if("显示名称" == m_propertyData[pProperty])
{
QString newAliasName = variant.value<QString>();
m_formInfo->m_strAliasName = newAliasName;
m_formInfo->update();
}
else if("字体" == m_propertyData[pProperty])
{
//字体
// 假设variant已经被设置为包含QColor
QFont newFont = variant.value<QFont>();
m_formInfo->m_curveNameFont = newFont;
m_formInfo->update();
}
else if("颜色" == m_propertyData[pProperty])
{
QColor newColor = variant.value<QColor>();
m_formInfo->m_lineColor = newColor;
m_formInfo->update();
}
else if("选择井曲线" == m_propertyData[pProperty])
{
QString sFilePath = variant.value<QString>();
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_changeJiegutextLine(m_formInfo->m_strUuid, m_formInfo->m_strSlfName, m_formInfo->m_strWellName, m_formInfo->m_strTrackName, strOldLineName, strLineName);
}
}
}
else
{
QString strItem = m_propertyData[pProperty];
bool bShow = variant.value<bool>();
//
QString strAliasName = m_formInfo->m_strAliasName;
if(strAliasName == "气测-FMT-射孔-文本" || strAliasName == "")
{
if(bShow)
{
strAliasName = strItem;
m_formInfo->m_strAliasName = strAliasName;
//改变曲线Title
emit CallManage::getInstance()->sig_changeJiegutextTitle(m_formInfo->m_strUuid, m_formInfo->m_strSlfName, m_formInfo->m_strWellName, m_formInfo->m_strTrackName, m_formInfo->m_strLineName, strAliasName);
}
}
else
{
if(bShow)
{
strAliasName += "/" + strItem;
m_formInfo->m_strAliasName = strAliasName;
//改变曲线Title
emit CallManage::getInstance()->sig_changeJiegutextTitle(m_formInfo->m_strUuid, m_formInfo->m_strSlfName, m_formInfo->m_strWellName, m_formInfo->m_strTrackName, m_formInfo->m_strLineName, strAliasName);
}
else
{
QStringList listAliasName = strAliasName.split("/");//QString字符串分割函数
if(listAliasName.contains(strItem))
{
listAliasName.removeOne(strItem);
}
if(listAliasName.size()==0)
{
strAliasName == "气测-FMT-射孔-文本";
//改变曲线Title
emit CallManage::getInstance()->sig_changeJiegutextTitle(m_formInfo->m_strUuid, m_formInfo->m_strSlfName, m_formInfo->m_strWellName, m_formInfo->m_strTrackName, m_formInfo->m_strLineName, strAliasName);
}
else
{
strAliasName = "";
for(int i=0; i<listAliasName.size(); i++)
{
if(i>0)
{
strAliasName += "/";
}
strAliasName += listAliasName[i];
}
//改变曲线Title
emit CallManage::getInstance()->sig_changeJiegutextTitle(m_formInfo->m_strUuid, m_formInfo->m_strSlfName, m_formInfo->m_strWellName, m_formInfo->m_strTrackName, m_formInfo->m_strLineName, strAliasName);
}
}
}
}
}
if("深度比例尺" == m_propertyData[pProperty]) if("深度比例尺" == m_propertyData[pProperty])
{ {
@ -1952,6 +2071,11 @@ void PropertyWidget::initProperty(FormInfo *formInfo)
{ {
this->initWaveProperty(formInfo, formInfo->m_nDrawType); this->initWaveProperty(formInfo, formInfo->m_nDrawType);
} }
else if (formInfo->m_strType == "JiegutextObject")
{
//气测/FMT/射孔/文本
this->initJiegutextProperty(formInfo);
}
} }
void PropertyWidget::initRoseProperty(FormInfo *formInfo) void PropertyWidget::initRoseProperty(FormInfo *formInfo)
@ -2390,3 +2514,25 @@ void PropertyWidget::initGeoLithItemProperty(TransparentDraggableGeoLith* tdGeoL
_CreateVariantPropertyItem("当前项", "油气", myOil, VariantManager::filePathTypeId()); _CreateVariantPropertyItem("当前项", "油气", myOil, VariantManager::filePathTypeId());
_CreateVariantPropertyItem("当前项", "颜色", myColor, VariantManager::filePathTypeId()); _CreateVariantPropertyItem("当前项", "颜色", myColor, VariantManager::filePathTypeId());
} }
//气测/FMT/射孔/文本
void PropertyWidget::initJiegutextProperty(FormInfo *formInfo)
{
_CreateVariantPropertyItem("通常", "选择井曲线", m_strLineName + "@" + m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("对象", "字体", formInfo->m_curveNameFont, QVariant::Font);
_CreateVariantPropertyItem("对象", "颜色", formInfo->m_lineColor, QVariant::Color);
QStringList listAliasName = formInfo->m_strAliasName.split("/");//QString字符串分割函数
//
for(int i=0; i< formInfo->m_FieldNameList.size(); i++)
{
bool bCkeck = false;
if(listAliasName.contains(formInfo->m_FieldNameList[i]))
{
bCkeck = true;
}
_CreateVariantPropertyItem("表格数据", formInfo->m_FieldNameList[i], bCkeck, QVariant::Bool);
}
m_strCurrentProperty = Jiegutext_Property;
}

View File

@ -54,6 +54,8 @@
#define Layer_Property "Layer_Property" //地质分层 #define Layer_Property "Layer_Property" //地质分层
#define LayerItem_Property "LayerItem_Property" //地质分层item #define LayerItem_Property "LayerItem_Property" //地质分层item
#define Jiegutext_Property "Jiegutext_Property" //气测/FMT/射孔/文本
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
/** /**
@ -179,6 +181,9 @@ public:
void initLayerProperty(FormInfo *formInfo); void initLayerProperty(FormInfo *formInfo);
void initLayerItemProperty(TransparentDraggableLayer* tdLayer, double lower, double upper, QString strResult); void initLayerItemProperty(TransparentDraggableLayer* tdLayer, double lower, double upper, QString strResult);
//气测/FMT/射孔/文本
void initJiegutextProperty(FormInfo *formInfo);
void ChangFillProperty();//填充属性改变 void ChangFillProperty();//填充属性改变
void ChangHeadItemProperty();//图头项改变 void ChangHeadItemProperty();//图头项改变

View File

@ -8,7 +8,7 @@
#pragma execution_character_set("utf-8") // 强制指定执行字符集为 UTF-8 #pragma execution_character_set("utf-8") // 强制指定执行字符集为 UTF-8
#define MAX_NUM 4 #define MAX_NUM 40
//气测/FMT/射孔/文本 //气测/FMT/射孔/文本
class TransparentDraggableJiegutext : public QObject class TransparentDraggableJiegutext : public QObject

View File

@ -12,7 +12,6 @@
#include "PickFrac.h" #include "PickFrac.h"
#include "DrawFac.h" #include "DrawFac.h"
#include "ObjTubingstringResult.h" #include "ObjTubingstringResult.h"
#include "ObjTextResult.h"
#include "DrawNrad.h" #include "DrawNrad.h"
#include "formline.h" #include "formline.h"
@ -87,7 +86,7 @@ FormDraw::FormDraw(QWidget *parent, QString strWellName, QString strTrackName) :
connect(CallManage::getInstance(), SIGNAL(sig_AddCrack(QString, QString, QString, QString, QString, int)), this, SLOT(s_addCrack(QString, QString, QString, QString, QString,int))); connect(CallManage::getInstance(), SIGNAL(sig_AddCrack(QString, QString, QString, QString, QString, int)), this, SLOT(s_addCrack(QString, QString, QString, QString, QString,int)));
//气测/FMT/射孔/文本 //气测/FMT/射孔/文本
connect(CallManage::getInstance(), SIGNAL(sig_AddJiegutext(QString, QString, QString, QString, QString, int)), this, SLOT(s_addJiegutext(QString, QString, QString, QString, QString,int))); 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)), this, SLOT(s_addLogface(QString, QString, QString, QString, QString,int)));
@ -98,6 +97,11 @@ FormDraw::FormDraw(QWidget *parent, QString strWellName, QString strTrackName) :
//套管组件 //套管组件
connect(CallManage::getInstance(), SIGNAL(sig_AddTubingstring(QString, QString, QString, QString, QString, int)), this, SLOT(s_addTubingstring(QString, QString, QString, QString, QString,int))); connect(CallManage::getInstance(), SIGNAL(sig_AddTubingstring(QString, QString, QString, QString, QString, int)), this, SLOT(s_addTubingstring(QString, QString, QString, QString, QString,int)));
//改变固井曲线名
connect(CallManage::getInstance(), SIGNAL(sig_changeGujingLine(QString, QString, QString, QString, QString, QString)), this, SLOT(s_changeGujingLine(QString, QString, QString, QString, QString, QString)));
//改变曲线名 //气测/FMT/射孔/文本
connect(CallManage::getInstance(), SIGNAL(sig_changeJiegutextLine(QString, QString, QString, QString, QString, QString)), this, SLOT(s_changeJiegutextLine(QString, QString, QString, QString, QString, QString)));
} }
FormDraw::~FormDraw() FormDraw::~FormDraw()
@ -138,6 +142,8 @@ void FormDraw::setDrawData(QStringList listdt, QJsonObject objInfo)
// //
QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, m_strTrackName, strLineName); QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, m_strTrackName, strLineName);
//绑定m_formTrack方便关联formInfo
curv->m_formTrack = m_formTrack;
curv->m_iY1 = m_iY1; curv->m_iY1 = m_iY1;
curv->m_iY2 = m_iY2; curv->m_iY2 = m_iY2;
curv->initGeometry(m_strUuid, m_iScale, nW); curv->initGeometry(m_strUuid, m_iScale, nW);
@ -303,6 +309,11 @@ void FormDraw::DisplayLines(QJsonArray linesArray)
DisplayTable_One(lineObjInfo); DisplayTable_One(lineObjInfo);
} }
} }
else if (strType == "JiegutextObject")
{
//气测/FMT/射孔/文本
DisplayJiegutext_One(lineObjInfo);
}
else else
{ {
DisplayType_One(lineObjInfo); DisplayType_One(lineObjInfo);
@ -313,7 +324,7 @@ void FormDraw::DisplayLines(QJsonArray linesArray)
} }
} }
//结论 //表格:固井结论
void FormDraw::DisplayTable_One(QJsonObject lineObjInfo) void FormDraw::DisplayTable_One(QJsonObject lineObjInfo)
{ {
QString strSlfName = ""; QString strSlfName = "";
@ -379,7 +390,27 @@ void FormDraw::DisplayTable_One(QJsonObject lineObjInfo)
{ {
lineColor.setNamedColor(lineObjInfo.value("lineColor").toString()); 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 bLithColor = true; // 岩性配色显示
bool bLithOne = true; // 单岩性显示 bool bLithOne = true; // 单岩性显示
bool bShowOil = true; // 显示含油性 bool bShowOil = true; // 显示含油性
@ -387,6 +418,11 @@ void FormDraw::DisplayTable_One(QJsonObject lineObjInfo)
bool bShowColor = false; // 显示颜色 bool bShowColor = false; // 显示颜色
bool bShowColorNum = false; // 绘制颜色号 bool bShowColorNum = false; // 绘制颜色号
// //
if (lineObjInfo.contains("OilZhan"))//含油占比
{
dOilZhan = lineObjInfo.value("OilZhan").toInt();
}
//
if (lineObjInfo.contains("LithColor")) if (lineObjInfo.contains("LithColor"))
{ {
QJsonValue value = lineObjInfo.value("LithColor"); QJsonValue value = lineObjInfo.value("LithColor");
@ -440,11 +476,19 @@ void FormDraw::DisplayTable_One(QJsonObject lineObjInfo)
listOtherProperty.append(strAliasName);//别名 listOtherProperty.append(strAliasName);//别名
listOtherProperty.append(lineColor.name());//名称颜色 listOtherProperty.append(lineColor.name());//名称颜色
listOtherProperty.append(curveNameFont.toString());//名称字体 listOtherProperty.append(curveNameFont.toString());//名称字体
// if(bVerticaDrawing)//垂向绘制
if (lineObjInfo.contains("OilZhan"))//含油占比
{ {
listOtherProperty.append(QString::number(lineObjInfo.value("OilZhan").toInt())); listOtherProperty.append("VerticaDrawing");
} }
else{
listOtherProperty.append("0");
}
//
listOtherProperty.append(QString::number(nRotationAngle));//旋转角度
//
listOtherProperty.append(QString::number(dOilZhan));//含油占比
//
if(bLithColor) if(bLithColor)
{ {
listOtherProperty.append("LithColor"); listOtherProperty.append("LithColor");
@ -497,6 +541,88 @@ void FormDraw::DisplayTable_One(QJsonObject lineObjInfo)
} }
} }
//气测/FMT/射孔/文本
void FormDraw::DisplayJiegutext_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());//名称字体
//气测/FMT/射孔/文本
this->s_addJiegutext(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName, 0, listOtherProperty); //
}
}
void FormDraw::DisplayLine_One(QJsonObject lineObjInfo) void FormDraw::DisplayLine_One(QJsonObject lineObjInfo)
{ {
QString strSlfName = ""; QString strSlfName = "";
@ -947,12 +1073,12 @@ QMyCustomPlot* FormDraw::addTableLine(QString strUuid, QString strSlfName, QStri
// //
QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName);
//绑定m_formTrack方便关联formInfo
curv->m_formTrack = m_formTrack;
curv->m_iY1 = m_iY1; curv->m_iY1 = m_iY1;
curv->m_iY2 = m_iY2; curv->m_iY2 = m_iY2;
curv->initGeometry(m_strUuid, m_iScale, m_nTrackW); curv->initGeometry(m_strUuid, m_iScale, m_nTrackW);
curv->show(); curv->show();
//绑定m_formTrack方便关联formInfo
curv->m_formTrack = m_formTrack;
if (strLineName == "FRAC_HOLE.TABLE") if (strLineName == "FRAC_HOLE.TABLE")
{ {
@ -1081,6 +1207,8 @@ void FormDraw::s_addLine(QString strUuid, QString strSlfName, QString strWellNam
// //
QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName);
//绑定m_formTrack方便关联formInfo
curv->m_formTrack = m_formTrack;
m_curv = curv; m_curv = curv;
curv->m_strUuid = m_strUuid; curv->m_strUuid = m_strUuid;
//背景设置成透明色 //背景设置成透明色
@ -1137,6 +1265,8 @@ void FormDraw::s_AddLine_Property(QString strUuid, QString strSlfName, QString s
// //
QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName);
//绑定m_formTrack方便关联formInfo
curv->m_formTrack = m_formTrack;
curv->m_strUuid = m_strUuid; curv->m_strUuid = m_strUuid;
//背景设置成透明色 //背景设置成透明色
curv->setBackground(Qt::transparent); curv->setBackground(Qt::transparent);
@ -1201,6 +1331,8 @@ void FormDraw::s_addWave(QString strUuid, QString strSlfName, QString strWellNam
// //
QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strWaveName); QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strWaveName);
//绑定m_formTrack方便关联formInfo
curv->m_formTrack = m_formTrack;
curv->m_strUuid = m_strUuid; curv->m_strUuid = m_strUuid;
//背景设置成透明色 //背景设置成透明色
curv->setBackground(Qt::transparent); curv->setBackground(Qt::transparent);
@ -1739,6 +1871,8 @@ void FormDraw::s_addGanZuangTu(QString strUuid, QString strSlfName, QString strW
// //
QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName);
//绑定m_formTrack方便关联formInfo
curv->m_formTrack = m_formTrack;
curv->m_strUuid = m_strUuid; curv->m_strUuid = m_strUuid;
//背景设置成透明色 //背景设置成透明色
curv->setBackground(Qt::transparent); curv->setBackground(Qt::transparent);
@ -1890,6 +2024,8 @@ void FormDraw::s_addJykt(QString strUuid, QString strSlfName, QString strWellNam
// //
QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName);
//绑定m_formTrack方便关联formInfo
curv->m_formTrack = m_formTrack;
curv->m_strUuid = m_strUuid; curv->m_strUuid = m_strUuid;
//背景设置成透明色 //背景设置成透明色
curv->setBackground(Qt::transparent); curv->setBackground(Qt::transparent);
@ -1959,6 +2095,8 @@ void FormDraw::s_addDenv(QString strUuid, QString strSlfName, QString strWellNam
// //
QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName);
//绑定m_formTrack方便关联formInfo
curv->m_formTrack = m_formTrack;
curv->m_strUuid = m_strUuid; curv->m_strUuid = m_strUuid;
//背景设置成透明色 //背景设置成透明色
curv->setBackground(Qt::transparent); curv->setBackground(Qt::transparent);
@ -2028,6 +2166,8 @@ void FormDraw::s_addDrawImage(QString strUuid, QString strSlfName, QString strWe
// //
QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName);
//绑定m_formTrack方便关联formInfo
curv->m_formTrack = m_formTrack;
curv->m_strUuid = m_strUuid; curv->m_strUuid = m_strUuid;
//背景设置成透明色 //背景设置成透明色
curv->setBackground(Qt::transparent); curv->setBackground(Qt::transparent);
@ -2161,6 +2301,8 @@ void FormDraw::s_addCrack(QString strUuid, QString strSlfName, QString strWellNa
// //
QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName);
//绑定m_formTrack方便关联formInfo
curv->m_formTrack = m_formTrack;
curv->m_strUuid = m_strUuid; curv->m_strUuid = m_strUuid;
//背景设置成透明色 //背景设置成透明色
curv->setBackground(Qt::transparent); curv->setBackground(Qt::transparent);
@ -2230,7 +2372,7 @@ void FormDraw::s_addCrack(QString strUuid, QString strSlfName, QString strWellNa
} }
//气测/FMT/射孔/文本 //气测/FMT/射孔/文本
void FormDraw::s_addJiegutext(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW) void FormDraw::s_addJiegutext(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW, QStringList listOtherProperty)
{ {
//井名&道名不一致 //井名&道名不一致
if(strUuid == m_strUuid && m_strWellName == strWellName && m_strTrackName == strTrackName) if(strUuid == m_strUuid && m_strWellName == strWellName && m_strTrackName == strTrackName)
@ -2249,6 +2391,8 @@ void FormDraw::s_addJiegutext(QString strUuid, QString strSlfName, QString strWe
// //
QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName);
//绑定m_formTrack方便关联formInfo
curv->m_formTrack = m_formTrack;
curv->m_strUuid = m_strUuid; curv->m_strUuid = m_strUuid;
//背景设置成透明色 //背景设置成透明色
curv->setBackground(Qt::transparent); curv->setBackground(Qt::transparent);
@ -2302,11 +2446,31 @@ void FormDraw::s_addJiegutext(QString strUuid, QString strSlfName, QString strWe
curv->xAxis2->setTicks(false); curv->xAxis2->setTicks(false);
curv->yAxis2->setTicks(false); curv->yAxis2->setTicks(false);
QColor newlineColor=QColor(0,0,0);
QString strAliasName = "气测-FMT-射孔-文本";
//QString strAliasName = "SDEP/EDEP";
// if(objTextResult->iMaxNum > 0)
// {
// strAliasName = "";
// for(int i=0; i<objTextResult->iMaxNum; i++)
// {
// if(i>0)
// {
// strAliasName += "/";
// }
// strAliasName += objTextResult->m_FieldNameList[i];
// }
// }
if(listOtherProperty.size()>=3)
{
strAliasName = listOtherProperty[0];
newlineColor.setNamedColor(listOtherProperty[1]);
}
//气测/FMT/射孔/文本 //气测/FMT/射孔/文本
QString strWaveName = "WELL_XSCGB"; //strLineName = "WELL_XSCGB";
//QString strWaveName = "GASLOG"; //QString strWaveName = "GASLOG";
CObjTextResult *objTextResult = new CObjTextResult(); curv->LoadFromSLF_Jiegutext(strSlfName, strLineName, strAliasName);
objTextResult->LoadFromSLF(curv, strSlfName, strWaveName);
// //
connect(curv, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*))); connect(curv, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*)));
@ -2314,25 +2478,20 @@ void FormDraw::s_addJiegutext(QString strUuid, QString strSlfName, QString strWe
// //
m_listLineName.push_back(strLineName); m_listLineName.push_back(strLineName);
QString strAliasName = "气测/FMT/射孔/文本";
if(objTextResult->iMaxNum > 0)
{
strAliasName = "";
for(int i=0; i<objTextResult->iMaxNum; i++)
{
if(i>0)
{
strAliasName += "/";
}
strAliasName += objTextResult->m_FieldNameList[i];
}
}
QString strUnit = ""; QString strUnit = "";
QColor newlineColor=QColor(0,0,0);
double width=2; double width=2;
QString strScaleType = ""; QString strScaleType = "";
//道-对象 //道-对象
m_formTrack->Add(strSlfName, m_strWellName, m_strTrackName, strWaveName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "JiegutextObject"); m_formTrack->Add(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "JiegutextObject", listOtherProperty);
//设置所有title供用户选择
FormInfo* pInfo = m_formTrack->getFormInfoByParameters(m_strUuid, strWellName, strTrackName, strLineName);
if (pInfo == NULL)
{
return;
}
pInfo->m_FieldNameList.clear();
pInfo->m_FieldNameList.append(curv->m_FieldNameList);
} }
//沉积相 //沉积相
@ -2355,6 +2514,8 @@ void FormDraw::s_addLogface(QString strUuid, QString strSlfName, QString strWell
// //
QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName);
//绑定m_formTrack方便关联formInfo
curv->m_formTrack = m_formTrack;
curv->m_strUuid = m_strUuid; curv->m_strUuid = m_strUuid;
//背景设置成透明色 //背景设置成透明色
curv->setBackground(Qt::transparent); curv->setBackground(Qt::transparent);
@ -2441,6 +2602,8 @@ void FormDraw::s_addMCals(QString strUuid, QString strSlfName, QString strWellNa
// //
QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName);
//绑定m_formTrack方便关联formInfo
curv->m_formTrack = m_formTrack;
curv->m_strUuid = m_strUuid; curv->m_strUuid = m_strUuid;
//背景设置成透明色 //背景设置成透明色
curv->setBackground(Qt::transparent); curv->setBackground(Qt::transparent);
@ -2527,6 +2690,8 @@ void FormDraw::s_addTubingstring(QString strUuid, QString strSlfName, QString st
// //
QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName);
//绑定m_formTrack方便关联formInfo
curv->m_formTrack = m_formTrack;
curv->m_strUuid = m_strUuid; curv->m_strUuid = m_strUuid;
//背景设置成透明色 //背景设置成透明色
curv->setBackground(Qt::transparent); curv->setBackground(Qt::transparent);
@ -3762,12 +3927,12 @@ void FormDraw::initGeoLith(QMyCustomPlot *widget, QString strSlfName, QString st
widget->yAxis2->setTicks(false); widget->yAxis2->setTicks(false);
//含油占比 //含油占比
if(listOtherProperty.size()>=10) if(listOtherProperty.size()>=12)
{ {
widget->m_dOilZhan = listOtherProperty[3].toDouble(); widget->m_dOilZhan = listOtherProperty[5].toDouble();
// //
if(listOtherProperty[4]=="LithColor") if(listOtherProperty[6]=="LithColor")
{ {
widget->m_bLithColor = true; widget->m_bLithColor = true;
} }
@ -3776,7 +3941,7 @@ void FormDraw::initGeoLith(QMyCustomPlot *widget, QString strSlfName, QString st
widget->m_bLithColor = false; widget->m_bLithColor = false;
} }
// //
if(listOtherProperty[5]=="LithOne") if(listOtherProperty[7]=="LithOne")
{ {
widget->m_bLithOne = true; widget->m_bLithOne = true;
} }
@ -3785,7 +3950,7 @@ void FormDraw::initGeoLith(QMyCustomPlot *widget, QString strSlfName, QString st
widget->m_bLithOne = false; widget->m_bLithOne = false;
} }
// //
if(listOtherProperty[6]=="ShowOil") if(listOtherProperty[8]=="ShowOil")
{ {
widget->m_bShowOil = true; widget->m_bShowOil = true;
} }
@ -3794,7 +3959,7 @@ void FormDraw::initGeoLith(QMyCustomPlot *widget, QString strSlfName, QString st
widget->m_bShowOil = false; widget->m_bShowOil = false;
} }
// //
if(listOtherProperty[7]=="CenterOil") if(listOtherProperty[9]=="CenterOil")
{ {
widget->m_bCenterOil = true; widget->m_bCenterOil = true;
} }
@ -3803,7 +3968,7 @@ void FormDraw::initGeoLith(QMyCustomPlot *widget, QString strSlfName, QString st
widget->m_bCenterOil = false; widget->m_bCenterOil = false;
} }
// //
if(listOtherProperty[8]=="ShowColor") if(listOtherProperty[10]=="ShowColor")
{ {
widget->m_bShowColor = true; widget->m_bShowColor = true;
} }
@ -3812,7 +3977,7 @@ void FormDraw::initGeoLith(QMyCustomPlot *widget, QString strSlfName, QString st
widget->m_bShowColor = false; widget->m_bShowColor = false;
} }
// //
if(listOtherProperty[9]=="ShowColorNum") if(listOtherProperty[11]=="ShowColorNum")
{ {
widget->m_bShowColorNum = true; widget->m_bShowColorNum = true;
} }
@ -6216,3 +6381,43 @@ void FormDraw::dropEvent(QDropEvent* event)
// 恢复鼠标光标 // 恢复鼠标光标
//QApplication::restoreOverrideCursor(); //QApplication::restoreOverrideCursor();
} }
void FormDraw::s_changeGujingLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strNewLineName)
{
//井名&道名不一致
if(strUuid == m_strUuid && m_strWellName == strWellName && m_strTrackName == strTrackName)
{
}
else
{
return;
}
if(m_listLineName.contains(strLineName))
{
m_listLineName.removeOne(strLineName);
//qDebug() << "FormDraw strLineName already exist! " << strLineName;
//return;
}
m_listLineName.push_back(strNewLineName);
}
void FormDraw::s_changeJiegutextLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strNewLineName)
{
//井名&道名不一致
if(strUuid == m_strUuid && m_strWellName == strWellName && m_strTrackName == strTrackName)
{
}
else
{
return;
}
if(m_listLineName.contains(strLineName))
{
m_listLineName.removeOne(strLineName);
//qDebug() << "FormDraw strLineName already exist! " << strLineName;
//return;
}
m_listLineName.push_back(strNewLineName);
}

View File

@ -55,10 +55,16 @@ public:
//展示所有曲线 //展示所有曲线
void DisplayLines(QJsonArray linesArray); void DisplayLines(QJsonArray linesArray);
//曲线
void DisplayLine_One(QJsonObject lineObjInfo); void DisplayLine_One(QJsonObject lineObjInfo);
//波列
void DisplayType_One(QJsonObject objInfo); void DisplayType_One(QJsonObject objInfo);
void DisplayTable_One(QJsonObject lineObjInfo); //结论 //表格:固井结论等
void DisplayTable_One(QJsonObject lineObjInfo);
//气测/FMT/射孔/文本
void DisplayJiegutext_One(QJsonObject lineObjInfo);
// 跨道设置 // 跨道设置
void crossTrackSetting(); void crossTrackSetting();
@ -245,7 +251,7 @@ public slots:
void s_addCrack(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW); void s_addCrack(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW);
//气测/FMT/射孔/文本 //气测/FMT/射孔/文本
void s_addJiegutext(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW); 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);
@ -267,6 +273,11 @@ public slots:
void s_addTableLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strWaveName); void s_addTableLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strWaveName);
void s_delTableLine(QString strUuid, QString strWellName, QString strTrackName, QString strLineName); void s_delTableLine(QString strUuid, QString strWellName, QString strTrackName, QString strLineName);
//改变固井曲线名
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);
}; };
#endif // FORMDRAW_H #endif // FORMDRAW_H

View File

@ -129,34 +129,27 @@ QJsonObject FormInfo::makeJson()
// rootObj["TrackName"] = m_strTrackName; // rootObj["TrackName"] = m_strTrackName;
rootObj["LineName"] = m_strLineName; rootObj["LineName"] = m_strLineName;
rootObj["AliasName"] = m_strAliasName; rootObj["AliasName"] = m_strAliasName;
//
rootObj["Type"] = m_strType;
rootObj["curveNameFont"] = m_curveNameFont.toString();
rootObj["lineColor"] = m_lineColor.name();
if (m_strType == "tableObject") if (m_strType == "tableObject")
{ {
if (m_strLineName == "GUJING1_RESULT" || m_strLineName == "GUJING2_RESULT" || m_strLineName == "GUJING3_RESULT") //垂向绘制
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")
{ {
//固井结论 //固井结论/井壁取心/文字结论/地质分层
rootObj["Type"] = m_strType;
rootObj["curveNameFont"] = m_curveNameFont.toString();
rootObj["lineColor"] = m_lineColor.name();
//item属性写入slf文件不需要此次记录
return rootObj;
}
else if (m_strLineName == "SWALL_CORE")
{
//井壁取心
rootObj["Type"] = m_strType;
rootObj["curveNameFont"] = m_curveNameFont.toString();
rootObj["lineColor"] = m_lineColor.name();
//item属性写入slf文件不需要此次记录 //item属性写入slf文件不需要此次记录
return rootObj; return rootObj;
} }
else if (m_strLineName == "GEO_LITH") else if (m_strLineName == "GEO_LITH")
{ {
//录井剖面 //录井剖面
rootObj["Type"] = m_strType;
rootObj["curveNameFont"] = m_curveNameFont.toString();
rootObj["lineColor"] = m_lineColor.name();
rootObj["OilZhan"] = m_dOilZhan;//含油占比 rootObj["OilZhan"] = m_dOilZhan;//含油占比
rootObj["LithColor"] = m_bLithColor; rootObj["LithColor"] = m_bLithColor;
rootObj["LithOne"] = m_bLithOne; rootObj["LithOne"] = m_bLithOne;
@ -167,30 +160,17 @@ QJsonObject FormInfo::makeJson()
//item属性写入slf文件不需要此次记录 //item属性写入slf文件不需要此次记录
return rootObj; return rootObj;
} }
else if (m_strLineName == "WORDS_RELUST") }
{ else if (m_strType == "JiegutextObject")
//文字结论 {
rootObj["Type"] = m_strType; //气测/FMT/射孔/文本
rootObj["curveNameFont"] = m_curveNameFont.toString(); //rootObj["OilZhan"] = m_dOilZhan;//含油占比
rootObj["lineColor"] = m_lineColor.name();
//item属性写入slf文件不需要此次记录 //item属性写入slf文件不需要此次记录
return rootObj; return rootObj;
}
else if (m_strLineName == "LAYER_DATA")
{
//地质分层
rootObj["Type"] = m_strType;
rootObj["curveNameFont"] = m_curveNameFont.toString();
rootObj["lineColor"] = m_lineColor.name();
//item属性写入slf文件不需要此次记录
return rootObj;
}
} }
rootObj["Unit"] = m_strUnit; rootObj["Unit"] = m_strUnit;
rootObj["Type"] = m_strType;
rootObj["curveNameFont"] = m_curveNameFont.toString();
rootObj["lineColor"] = m_lineColor.name();
rootObj["Width"] = m_dWidth; rootObj["Width"] = m_dWidth;
rootObj["lineStyle"] = m_lineStyle; rootObj["lineStyle"] = m_lineStyle;
rootObj["vmax"] = m_vmax; rootObj["vmax"] = m_vmax;
@ -1021,6 +1001,14 @@ void FormInfo::contextMenuEvent(QContextMenuEvent *event)
menu.addAction(QIcon(::GetImagePath() + "icon/Delete.png"), "删除当前对象", this, &FormInfo::onDeleteTable); menu.addAction(QIcon(::GetImagePath() + "icon/Delete.png"), "删除当前对象", this, &FormInfo::onDeleteTable);
menu.exec(event->globalPos()); menu.exec(event->globalPos());
} }
else if(m_strType=="JiegutextObject")
{
//气测/FMT/射孔/文本
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());
}
} }
//曲线数据查看 //曲线数据查看

View File

@ -154,6 +154,9 @@ public:
bool m_bShowColorNum = false; // 绘制颜色号 bool m_bShowColorNum = false; // 绘制颜色号
double m_dOilZhan = 8; //含油占比 double m_dOilZhan = 8; //含油占比
//气测/FMT/射孔/文本
QStringList m_FieldNameList;
public: public:
void setLineWidth(double dWidth); void setLineWidth(double dWidth);
double getLineWidth(); double getLineWidth();

View File

@ -95,8 +95,8 @@ FormTrack::FormTrack(QWidget *parent, QString strWellName, QString strTrackName)
this, SLOT(s_addSantuyibiao(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString))); this, SLOT(s_addSantuyibiao(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)));
//气测/FMT/射孔/文本 //气测/FMT/射孔/文本
connect(this, SIGNAL(sig_AddJiegutext(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)), 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))); 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)), connect(this, SIGNAL(sig_AddLogface(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)),
@ -255,7 +255,7 @@ void FormTrack::Add(QString strSlfName, QString strWellName, QString strTrackNam
} }
else if(strType=="JiegutextObject") else if(strType=="JiegutextObject")
{ {
emit sig_AddJiegutext(strSlfName, strWellName, m_strTrackName, strLineName, strAliasName, strUnit, lineColor, dWidth, vmax, vmin, strScaleType); emit sig_AddJiegutext(strSlfName, strWellName, m_strTrackName, strLineName, strAliasName, strUnit, lineColor, dWidth, vmax, vmin, strScaleType, listOtherProperty);
} }
else if(strType=="LogfaceObject") else if(strType=="LogfaceObject")
{ {
@ -575,22 +575,33 @@ void FormTrack::s_AddTableLine(QString strSlfName, QString strWellName, QString
|| strLineName == "LAYER_DATA" ) || strLineName == "LAYER_DATA" )
{ {
//固井结论 / 井壁取心 / 录井剖面 /文字结论 /地质分层 //固井结论 / 井壁取心 / 录井剖面 /文字结论 /地质分层
if(listOtherProperty.size()>=3) if(listOtherProperty.size()>=5)
{ {
QFont curveNameFont("微软雅黑", 10); // 名称字体 QFont curveNameFont("微软雅黑", 10); // 名称字体
curveNameFont.fromString(listOtherProperty[2]); curveNameFont.fromString(listOtherProperty[2]);
formInfo->m_curveNameFont = curveNameFont; formInfo->m_curveNameFont = curveNameFont;
//
if(listOtherProperty[3]=="VerticaDrawing")
{
formInfo->m_bVerticaDrawing = true;
}
else
{
formInfo->m_bVerticaDrawing = false;
}
//
formInfo->m_nRotationAngle = listOtherProperty[4].toInt();
} }
//录井剖面 //录井剖面
if(strLineName == "GEO_LITH") if(strLineName == "GEO_LITH")
{ {
if(listOtherProperty.size()>=10) if(listOtherProperty.size()>=12)
{ {
formInfo->m_dOilZhan = listOtherProperty[3].toDouble(); formInfo->m_dOilZhan = listOtherProperty[5].toDouble();
// //
if(listOtherProperty[4]=="LithColor") if(listOtherProperty[6]=="LithColor")
{ {
formInfo->m_bLithColor = true; formInfo->m_bLithColor = true;
} }
@ -599,7 +610,7 @@ void FormTrack::s_AddTableLine(QString strSlfName, QString strWellName, QString
formInfo->m_bLithColor = false; formInfo->m_bLithColor = false;
} }
// //
if(listOtherProperty[5]=="LithOne") if(listOtherProperty[7]=="LithOne")
{ {
formInfo->m_bLithOne = true; formInfo->m_bLithOne = true;
} }
@ -608,7 +619,7 @@ void FormTrack::s_AddTableLine(QString strSlfName, QString strWellName, QString
formInfo->m_bLithOne = false; formInfo->m_bLithOne = false;
} }
// //
if(listOtherProperty[6]=="ShowOil") if(listOtherProperty[8]=="ShowOil")
{ {
formInfo->m_bShowOil = true; formInfo->m_bShowOil = true;
} }
@ -617,7 +628,7 @@ void FormTrack::s_AddTableLine(QString strSlfName, QString strWellName, QString
formInfo->m_bShowOil = false; formInfo->m_bShowOil = false;
} }
// //
if(listOtherProperty[7]=="CenterOil") if(listOtherProperty[9]=="CenterOil")
{ {
formInfo->m_bCenterOil = true; formInfo->m_bCenterOil = true;
} }
@ -626,7 +637,7 @@ void FormTrack::s_AddTableLine(QString strSlfName, QString strWellName, QString
formInfo->m_bCenterOil = false; formInfo->m_bCenterOil = false;
} }
// //
if(listOtherProperty[8]=="ShowColor") if(listOtherProperty[10]=="ShowColor")
{ {
formInfo->m_bShowColor = true; formInfo->m_bShowColor = true;
} }
@ -635,7 +646,7 @@ void FormTrack::s_AddTableLine(QString strSlfName, QString strWellName, QString
formInfo->m_bShowColor = false; formInfo->m_bShowColor = false;
} }
// //
if(listOtherProperty[9]=="ShowColorNum") if(listOtherProperty[11]=="ShowColorNum")
{ {
formInfo->m_bShowColorNum = true; formInfo->m_bShowColorNum = true;
} }
@ -921,7 +932,7 @@ void FormTrack::s_addCrack(QString strSlfName, QString strWellName, QString strT
ui->tableWidget->setCellWidget(row, 0, formInfo); ui->tableWidget->setCellWidget(row, 0, formInfo);
} }
void FormTrack::s_addJiegutext(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_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)
{ {
qDebug() << "FormTrack s_addJiegutext"; qDebug() << "FormTrack s_addJiegutext";
@ -946,6 +957,13 @@ void FormTrack::s_addJiegutext(QString strSlfName, QString strWellName, QString
formInfo->setVMin(vmin); formInfo->setVMin(vmin);
formInfo->setFrontColor(QColor(0,0,0)); formInfo->setFrontColor(QColor(0,0,0));
formInfo->setBackColor(QColor(255,255,255)); 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); ui->tableWidget->setRowHeight(row, 100);
//单元格委托 //单元格委托

View File

@ -91,7 +91,7 @@ signals:
void sig_AddDrawImage(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType); void sig_AddDrawImage(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType);
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_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_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); 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);
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_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); 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);
@ -113,7 +113,7 @@ public slots:
void s_addDrawImage(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType); void s_addDrawImage(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType);
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_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_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); 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);
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_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_addTubingstring(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType);

View File

@ -40,7 +40,6 @@ SOURCES += \
Gradient.cpp \ Gradient.cpp \
InDefTableDlg.cpp \ InDefTableDlg.cpp \
InterfaceWidget.cpp \ InterfaceWidget.cpp \
ObjTextResult.cpp \
ObjTubingstringResult.cpp \ ObjTubingstringResult.cpp \
PickFrac.cpp \ PickFrac.cpp \
PropertyWidget.cpp \ PropertyWidget.cpp \
@ -104,7 +103,6 @@ HEADERS += \
Gradient.h \ Gradient.h \
InDefTableDlg.h \ InDefTableDlg.h \
InterfaceWidget.h \ InterfaceWidget.h \
ObjTextResult.h \
ObjTubingstringResult.h \ ObjTubingstringResult.h \
PickFrac.h \ PickFrac.h \
PropertyWidget.h \ PropertyWidget.h \

View File

@ -2869,7 +2869,18 @@ void MainWindowCurve::s_NewCoreImage()
//斜井三图一表 //斜井三图一表
void MainWindowCurve::s_NewSantuyibiao() void MainWindowCurve::s_NewSantuyibiao()
{ {
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) if(sret.length() <= 0)
return; return;
@ -2880,7 +2891,18 @@ void MainWindowCurve::s_NewSantuyibiao()
//裂缝 //裂缝
void MainWindowCurve::s_NewCrack() void MainWindowCurve::s_NewCrack()
{ {
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) if(sret.length() <= 0)
return; return;
@ -3196,7 +3218,18 @@ void MainWindowCurve::s_NewGeoSection()
//气测/FMT/射孔/文本 //气测/FMT/射孔/文本
void MainWindowCurve::s_NewJiegutext() void MainWindowCurve::s_NewJiegutext()
{ {
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) if(sret.length() <= 0)
return; return;

View File

@ -124,6 +124,10 @@ QMyCustomPlot::QMyCustomPlot(QWidget *parent, QString strSlfName, QString strWel
connect(CallManage::getInstance(), SIGNAL(sig_changeDrawProperty(QVariantList)), this, SLOT(s_changeDrawProperty(QVariantList))); connect(CallManage::getInstance(), SIGNAL(sig_changeDrawProperty(QVariantList)), this, SLOT(s_changeDrawProperty(QVariantList)));
//改变固井曲线名 //改变固井曲线名
connect(CallManage::getInstance(), SIGNAL(sig_changeGujingLine(QString, QString, QString, QString, QString, QString)), this, SLOT(s_changeGujingLine(QString, QString, QString, QString, QString, QString))); connect(CallManage::getInstance(), SIGNAL(sig_changeGujingLine(QString, QString, QString, QString, QString, QString)), this, SLOT(s_changeGujingLine(QString, QString, QString, QString, QString, QString)));
//改变曲线名 //气测/FMT/射孔/文本
connect(CallManage::getInstance(), SIGNAL(sig_changeJiegutextLine(QString, QString, QString, QString, QString, QString)), this, SLOT(s_changeJiegutextLine(QString, QString, QString, QString, QString, QString)));
//改变曲线Title //气测/FMT/射孔/文本
connect(CallManage::getInstance(), SIGNAL(sig_changeJiegutextTitle(QString, QString, QString, QString, QString, QString)), this, SLOT(s_changeJiegutextTitle(QString, QString, QString, QString, QString, QString)));
//改变录井剖面属性 //改变录井剖面属性
connect(CallManage::getInstance(), SIGNAL(sig_changeGeoLithLine(QString, QString, QString, QString, QString, double)), this, SLOT(s_changeGeoLithLine(QString, QString, QString, QString, QString, double))); connect(CallManage::getInstance(), SIGNAL(sig_changeGeoLithLine(QString, QString, QString, QString, QString, double)), this, SLOT(s_changeGeoLithLine(QString, QString, QString, QString, QString, double)));
//是否显示 //是否显示
@ -3154,6 +3158,38 @@ void QMyCustomPlot::DeleteItems_Gujing()
PropertyService()->InitCurrentViewInfo(); PropertyService()->InitCurrentViewInfo();
} }
//刷新数据
void QMyCustomPlot::RefreshItems_Jiegutext(QString strAliasName)
{
//删除对象
TransparentDraggableJiegutext *pDraggableRect =NULL;
QMap<QString,QObject *>::Iterator it = m_mapDraggable_Jiegutext.begin();
while( it != m_mapDraggable_Jiegutext.end() )
{
pDraggableRect = (TransparentDraggableJiegutext*)it.value();
it++;
pDraggableRect->deleteRect();
}
//重新加载
//QString strAliasName = "气测-FMT-射孔-文本";
LoadFromSLF_Jiegutext(m_strSlfName, m_strLineName, strAliasName);
//设置所有title供用户选择
FormInfo* pInfo = m_formTrack->getFormInfoByParameters(m_strUuid, m_strWellName, m_strTrackName, m_strLineName);
if (pInfo == NULL)
{
return;
}
//
pInfo->m_strAliasName = strAliasName;
pInfo->m_FieldNameList.clear();
pInfo->m_FieldNameList.append(this->m_FieldNameList);
pInfo->update();
//属性清空
PropertyService()->InitCurrentViewInfo();
}
//刷新数据 //刷新数据
void QMyCustomPlot::RefreshItems_Gujing() void QMyCustomPlot::RefreshItems_Gujing()
{ {
@ -4017,7 +4053,7 @@ void QMyCustomPlot::addGujingToPlot(double left_Low, double right_Hight, const Q
} }
//气测/FMT/射孔/文本 //气测/FMT/射孔/文本
void QMyCustomPlot::addJiegutextToPlot(double left_Low, double right_Hight, const QStringList strText, int &iMaxNum, QColor crColor) void QMyCustomPlot::addJiegutextToPlot(double left_Low, double right_Hight, const QStringList strText, QColor crColor)
{ {
QtCommonClass *qtCommon = new QtCommonClass(this); QtCommonClass *qtCommon = new QtCommonClass(this);
QString strUuid = qtCommon->getUUid(); QString strUuid = qtCommon->getUUid();
@ -4033,8 +4069,6 @@ void QMyCustomPlot::addJiegutextToPlot(double left_Low, double right_Hight, cons
//dragRect->setTitle(strText);//直接创建时赋值 //dragRect->setTitle(strText);//直接创建时赋值
m_mapDraggable_Jiegutext[strUuid] = dragRect; m_mapDraggable_Jiegutext[strUuid] = dragRect;
//
iMaxNum = dragRect->iMaxNum;
} }
//沉积相-微相 //沉积相-微相
@ -5354,6 +5388,71 @@ void QMyCustomPlot::s_changeGujingLine(QString strUuid, QString strSlfName, QStr
RefreshItems_Gujing(); RefreshItems_Gujing();
} }
//改变曲线名 //气测/FMT/射孔/文本
void QMyCustomPlot::s_changeJiegutextLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strNewLineName)
{
if(m_strUuid == strUuid &&
m_strSlfName == strSlfName &&
m_strWellName == strWellName &&
m_strTrackName == strTrackName &&
m_strLineName == strLineName)
{
}
else
{
return;
}
m_strLineName = strNewLineName;
//刷新数据
RefreshItems_Jiegutext();
}
//改变曲线Title //气测/FMT/射孔/文本
void QMyCustomPlot::s_changeJiegutextTitle(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName)
{
if(m_strUuid == strUuid &&
m_strSlfName == strSlfName &&
m_strWellName == strWellName &&
m_strTrackName == strTrackName &&
m_strLineName == strLineName)
{
}
else
{
return;
}
//刷新数据
//RefreshItems_Jiegutext(strAliasName);
//删除对象
TransparentDraggableJiegutext *pDraggableRect =NULL;
QMap<QString,QObject *>::Iterator it = m_mapDraggable_Jiegutext.begin();
while( it != m_mapDraggable_Jiegutext.end() )
{
pDraggableRect = (TransparentDraggableJiegutext*)it.value();
it++;
pDraggableRect->deleteRect();
}
//重新加载
//QString strAliasName = "气测-FMT-射孔-文本";
LoadFromSLF_Jiegutext(m_strSlfName, m_strLineName, strAliasName);
//设置所有title供用户选择
FormInfo* pInfo = m_formTrack->getFormInfoByParameters(m_strUuid, m_strWellName, m_strTrackName, m_strLineName);
if (pInfo == NULL)
{
return;
}
//
pInfo->m_strAliasName = strAliasName;
pInfo->m_FieldNameList.clear();
pInfo->m_FieldNameList.append(this->m_FieldNameList);
pInfo->update();
}
//改变录井剖面属性 //改变录井剖面属性
void QMyCustomPlot::s_changeGeoLithLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double dOilZhan) void QMyCustomPlot::s_changeGeoLithLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double dOilZhan)
{ {
@ -5761,3 +5860,83 @@ void QMyCustomPlot::AddItem_Layer(QStringList lists)
//插入文本 //插入文本
this->addLayerToPlot(-bottom, -top, lists[3]); this->addLayerToPlot(-bottom, -top, lists[3]);
} }
bool QMyCustomPlot::LoadFromSLF_Jiegutext(QString strSlfName, QString csCurve, QString strAliasName)
{
Slf_TxtPOS *m_pResult=NULL;
CMemRdWt *logio=new CMemRdWt();
if(strSlfName==""||!logio->Open(strSlfName.toStdString().c_str(),CSlfIO::modeRead))
{
delete logio;
// QMessageBox::information(NULL,"提示","SLF文件打开失败请检查",QMessageBox::Yes);
return false;
}
int iIndex=logio->OpenTable(csCurve.toStdString().c_str());
if(iIndex>-1) {
int count = logio->GetTableRecordCount(iIndex);
int fieldnum = logio->GetTableFieldCount(iIndex);
int len = logio->GetTableRecordLength(iIndex);
Slf_TABLE_FIELD *pField=new Slf_TABLE_FIELD[fieldnum+1];
logio->GetTableFieldInfo(iIndex,pField);
m_FieldNameList.clear();
m_FieldUnitList.clear();
m_FieldHZNameList.clear();
m_FieldHZUnitList.clear();
//
for(int i=0;i<fieldnum;i++)
{
m_FieldNameList.push_back(QString::fromLocal8Bit(pField[i].Name));
m_FieldHZNameList.push_back(QString::fromLocal8Bit(pField[i].HZName));
m_FieldUnitList.push_back(QString::fromLocal8Bit(pField[i].Unit));
m_FieldHZUnitList.push_back(QString::fromLocal8Bit(pField[i].HZUnit));
}
delete pField;
QStringList listAliasName = strAliasName.split("/");//QString字符串分割函数
//
m_pResult=(Slf_TxtPOS *)new char[len+1];
char buf[200];
for(int i=0;i<count;i++) {
logio->GetTableFieldData(iIndex,0,buf,i+1);
m_pResult->Order=atof(buf);
logio->GetTableFieldData(iIndex,1,buf,i+1);
m_pResult->Depth=atof(buf);
logio->GetTableFieldData(iIndex,2,buf,i+1);
m_pResult->CorrDepth=atof(buf);
double top=m_pResult->Depth;
double bottom=m_pResult->Depth;
if(m_FieldNameList.size()>2&&
(m_FieldNameList[2].indexOf("EDEP")>-1 ||
m_FieldNameList[2].indexOf("ENDEP")>-1)
)
{
bottom=m_pResult->CorrDepth;
}
CoreValues.clear();
ValueTypes.clear();
for(int j=0;j<fieldnum;j++)
{
if(listAliasName.contains(m_FieldNameList[j]))
{
int iType = logio->GetTableFieldData(iIndex,j,buf,i+1);
ValueTypes.append(iType);
float val=0;
val=atof(buf);
CoreValues.append(QString::number(val));
}
}
//
this->addJiegutextToPlot(-bottom, -top, CoreValues);
}
logio->CloseTable(iIndex);
delete m_pResult;
}
delete logio;
return true;
}

View File

@ -15,6 +15,12 @@ const int iFracType=15;
#define SideWallCoreWidth 1.2 #define SideWallCoreWidth 1.2
#define SideWallCoreHeight 0.5 #define SideWallCoreHeight 0.5
struct Slf_TxtPOS {
int Order;
float Depth;
float CorrDepth;
};
class TransparentGroupResult; class TransparentGroupResult;
class QMyCustomPlot : public QCustomPlot class QMyCustomPlot : public QCustomPlot
{ {
@ -205,6 +211,15 @@ public:
bool SaveToSLF_Layer(); bool SaveToSLF_Layer();
bool LoadFromSLF_Layer(QString strSlfName, QString strLineName); bool LoadFromSLF_Layer(QString strSlfName, QString strLineName);
//气测/FMT/射孔/文本
QStringList m_FieldNameList;
QStringList m_FieldHZNameList;
QStringList m_FieldUnitList;
QStringList m_FieldHZUnitList;
QList<int> ValueTypes;
QStringList CoreValues;
bool LoadFromSLF_Jiegutext(QString strSlfName, QString csCurve, QString strAliasName);
public slots: public slots:
void slot_time(); void slot_time();
@ -238,7 +253,7 @@ public:
void addGujingToPlot(double left_Low, double right_Hight, const QString strResult); void addGujingToPlot(double left_Low, double right_Hight, const QString strResult);
//气测/FMT/射孔/文本 //气测/FMT/射孔/文本
void addJiegutextToPlot(double left_Low, double right_Hight, const QStringList strText, int &iMaxNum, QColor crColor=QColor(255, 255, 255, 80)); void addJiegutextToPlot(double left_Low, double right_Hight, const QStringList strText, QColor crColor=QColor(255, 255, 255, 80));
//沉积相 //沉积相
void addMFacToPlot(double left_Low, double right_Hight, const QString strText, QColor crColor=QColor(255, 255, 255, 80)); void addMFacToPlot(double left_Low, double right_Hight, const QString strText, QColor crColor=QColor(255, 255, 255, 80));
@ -355,6 +370,9 @@ public slots:
void RefreshItems_Layer(); //刷新数据 void RefreshItems_Layer(); //刷新数据
void AddItem_Layer(QStringList lists); void AddItem_Layer(QStringList lists);
//右键--气测-管柱-文本-FMT-射孔
void RefreshItems_Jiegutext(QString strAliasName = "气测-FMT-射孔-文本"); //刷新数据
// //
void addItems_Core(); void addItems_Core();
@ -382,6 +400,10 @@ public slots:
//改变固井曲线名 //改变固井曲线名
void s_changeGujingLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strNewLineName); 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);
//改变录井剖面属性 //改变录井剖面属性
void s_changeGeoLithLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double dOilZhan); void s_changeGeoLithLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double dOilZhan);