添加TDT格式的数据加载显示,添加切换油田功能
This commit is contained in:
parent
5c77249679
commit
174d7c6346
|
|
@ -48,6 +48,7 @@ signals:
|
||||||
void sig_ShowParameterCard(QString strSlfName, QString strName);//参数表查看
|
void sig_ShowParameterCard(QString strSlfName, QString strName);//参数表查看
|
||||||
void sig_ShowCurve(QMap<QString,QList<QString>> mapShowObject);//曲线数据查看
|
void sig_ShowCurve(QMap<QString,QList<QString>> mapShowObject);//曲线数据查看
|
||||||
void sig_DepthShift(QString strSlfName, QString strName, double DepthOffset);//深度移动
|
void sig_DepthShift(QString strSlfName, QString strName, double DepthOffset);//深度移动
|
||||||
|
void sig_ShowTDT(QString strSlfName, QString strName);//TDT数据查看
|
||||||
void sig_ShowTable(QString strSlfName, QString strName);//表格数据查看
|
void sig_ShowTable(QString strSlfName, QString strName);//表格数据查看
|
||||||
void sig_ShowWave(QString strSlfName, QString strName);//波列数据查看
|
void sig_ShowWave(QString strSlfName, QString strName);//波列数据查看
|
||||||
void sig_WelllogInformation(QString strSlfName);//编辑测井信息
|
void sig_WelllogInformation(QString strSlfName);//编辑测井信息
|
||||||
|
|
|
||||||
34
OSGDataModel/include/ObjWelllogTDT.h
Normal file
34
OSGDataModel/include/ObjWelllogTDT.h
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
/**
|
||||||
|
* @file ObjWellLogTDT.h
|
||||||
|
* @brief 测井多维曲线数据模型
|
||||||
|
* @date 2015-2-10
|
||||||
|
* @author: WANGWEI
|
||||||
|
*/
|
||||||
|
#ifndef PAI_FRAME_OSGWELLLOGTDT_H
|
||||||
|
#define PAI_FRAME_OSGWELLLOGTDT_H
|
||||||
|
#pragma warning( push ,0)
|
||||||
|
#include <QUuid>
|
||||||
|
#include "BaseObject.h"
|
||||||
|
#include "ObjWelllog.h"
|
||||||
|
#pragma warning( pop )
|
||||||
|
|
||||||
|
BEGIN_OSGDATAMODEL_NAMESPACE;
|
||||||
|
|
||||||
|
class CObjWell;
|
||||||
|
|
||||||
|
class OSGDATAMODEL_EXPORT CObjWellLogTDT: public CObjWellLog
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
CObjWellLogTDT();
|
||||||
|
virtual ~CObjWellLogTDT();
|
||||||
|
virtual QUuid GetTypeID()const;
|
||||||
|
public:
|
||||||
|
Slf_TDT TDT;
|
||||||
|
};
|
||||||
|
|
||||||
|
using namespace pai::datamodel;
|
||||||
|
using namespace pai::ios::welllog;
|
||||||
|
|
||||||
|
END_OSGDATAMODEL_NAMESPACE
|
||||||
|
#endif
|
||||||
|
|
@ -44,6 +44,7 @@ HEADERS += \
|
||||||
../include/ObjWelllog.h \
|
../include/ObjWelllog.h \
|
||||||
../include/ObjWelllogINP.h \
|
../include/ObjWelllogINP.h \
|
||||||
../include/ObjWelllogTABLE.h \
|
../include/ObjWelllogTABLE.h \
|
||||||
|
../include/ObjWelllogTDT.h \
|
||||||
../include/ObjWelllogWavefile.h \
|
../include/ObjWelllogWavefile.h \
|
||||||
../include/TrackPoints.H \
|
../include/TrackPoints.H \
|
||||||
../include/WellLogWorkflowDataModel.h
|
../include/WellLogWorkflowDataModel.h
|
||||||
|
|
|
||||||
30
OSGDataModel/src/ObjWellLogTDT.cpp
Normal file
30
OSGDataModel/src/ObjWellLogTDT.cpp
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
#pragma warning( push ,0)
|
||||||
|
#include <cassert>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
#include "ObjWelllogTDT.h"
|
||||||
|
#include "ObjWell.h"
|
||||||
|
#pragma warning( pop )
|
||||||
|
|
||||||
|
BEGIN_OSGDATAMODEL_NAMESPACE;
|
||||||
|
|
||||||
|
CObjWellLogTDT::CObjWellLogTDT()
|
||||||
|
{
|
||||||
|
// SetIconName("icon/tdt.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
CObjWellLogTDT::~CObjWellLogTDT()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
QUuid CObjWellLogTDT::GetTypeID()const
|
||||||
|
{
|
||||||
|
return GetClassID_WellLogTDT();
|
||||||
|
}
|
||||||
|
|
||||||
|
// BEGIN_REGISTER_OBJECT(CObjWellLogTDT)
|
||||||
|
// QUuid(GetClassID_WellLogTDT())
|
||||||
|
// END_REGISTER_OBJECT( CObjWellLogTDT );
|
||||||
|
|
||||||
|
END_OSGDATAMODEL_NAMESPACE
|
||||||
|
|
@ -292,8 +292,9 @@ CLogIO ::CLogIO()
|
||||||
QString GetOilFieldName()
|
QString GetOilFieldName()
|
||||||
{
|
{
|
||||||
QString strProjectDir = QCoreApplication::applicationDirPath()+ QDir::separator() + "..";
|
QString strProjectDir = QCoreApplication::applicationDirPath()+ QDir::separator() + "..";
|
||||||
strProjectDir += QDir::separator();
|
QDir dir(strProjectDir);
|
||||||
QString path=strProjectDir;
|
strProjectDir=dir.absolutePath();
|
||||||
|
QString path=strProjectDir + QDir::separator();
|
||||||
path+="oilfield.ini";
|
path+="oilfield.ini";
|
||||||
FILE *fp=fopen(path.toStdString().c_str(),"rt");
|
FILE *fp=fopen(path.toStdString().c_str(),"rt");
|
||||||
char oilfield[200];
|
char oilfield[200];
|
||||||
|
|
@ -380,7 +381,7 @@ bool CLogIO ::Open(const char* szLogFileName,unsigned int nOpenFlags,int BlockLe
|
||||||
if(ret<1) break;
|
if(ret<1) break;
|
||||||
if(tem[0]) {
|
if(tem[0]) {
|
||||||
QString strPathTmp1=strConfPath+GetOilFieldName()+tem+".ini";
|
QString strPathTmp1=strConfPath+GetOilFieldName()+tem+".ini";
|
||||||
FILE *fp1=fopen(strPathTmp1.toStdString().c_str(),"r+t");
|
FILE *fp1=fopen(strPathTmp1.toLocal8Bit().data()/*UTF8ToGBK()*//*strPathTmp1.toStdString().c_str()*/,"r+t");
|
||||||
if(fp1) {
|
if(fp1) {
|
||||||
char buf1[100];
|
char buf1[100];
|
||||||
Slf_Menu[m_MenuNumber].clear();
|
Slf_Menu[m_MenuNumber].clear();
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@
|
||||||
#include "LogIO.h"
|
#include "LogIO.h"
|
||||||
//#include "CurveLineLog.h"
|
//#include "CurveLineLog.h"
|
||||||
#include "ObjWelllogTABLE.h"
|
#include "ObjWelllogTABLE.h"
|
||||||
|
#include "ObjWellLogTDT.h"
|
||||||
//#include "DataManagger.h"
|
//#include "DataManagger.h"
|
||||||
#include "griddataadapter.h"
|
#include "griddataadapter.h"
|
||||||
|
|
||||||
|
|
@ -185,6 +186,8 @@ void WellLogTableDialogNew::setName(QString strOldPath, QString strOldName, int
|
||||||
pWellLog = new CObjWellLogWavefile;
|
pWellLog = new CObjWellLogWavefile;
|
||||||
if (CURVE_OBJECT == m_ObjectType)
|
if (CURVE_OBJECT == m_ObjectType)
|
||||||
pWellLog = new CObjWellLog;
|
pWellLog = new CObjWellLog;
|
||||||
|
if (TDT_OBJECT == m_ObjectType)
|
||||||
|
pWellLog = new CObjWellLogTDT;
|
||||||
if (WAVE_OBJECT != m_ObjectType)
|
if (WAVE_OBJECT != m_ObjectType)
|
||||||
m_pUI->horizontalScrollBar->hide();
|
m_pUI->horizontalScrollBar->hide();
|
||||||
pWellLog->SetSlfFileName(strOldPath);
|
pWellLog->SetSlfFileName(strOldPath);
|
||||||
|
|
@ -285,6 +288,12 @@ void WellLogTableDialogNew::InitWell()
|
||||||
// swtichViewSize();
|
// swtichViewSize();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (TDT_OBJECT == m_ObjectType)
|
||||||
|
{
|
||||||
|
m_DataTyle=valid_NULL;
|
||||||
|
m_gridData->initTDTWellLogData(D_TDTWellLogData,m_pWellLogs);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WellLogTableDialogNew::InitWellLog()
|
bool WellLogTableDialogNew::InitWellLog()
|
||||||
|
|
|
||||||
|
|
@ -1986,7 +1986,7 @@ void GridDataAdapter::initTDTWellLogData(DType type,QList<CObjWellLog*> WellLogs
|
||||||
fieldName="MD_"+QString::number(j);
|
fieldName="MD_"+QString::number(j);
|
||||||
fieldName+="\n"+unit;
|
fieldName+="\n"+unit;
|
||||||
m_TitleField.push_back(fieldName);
|
m_TitleField.push_back(fieldName);
|
||||||
unit=TDT.TimeUnit;
|
unit=QString::fromLocal8Bit(TDT.TimeUnit);
|
||||||
fieldName="TIME_"+QString::number(j);
|
fieldName="TIME_"+QString::number(j);
|
||||||
fieldName+="\n"+unit;
|
fieldName+="\n"+unit;
|
||||||
m_TitleField.push_back(fieldName);
|
m_TitleField.push_back(fieldName);
|
||||||
|
|
|
||||||
|
|
@ -388,6 +388,42 @@ QString toString(double value,char f,int dem,bool iscut,bool ise)
|
||||||
if(iscut) return toString(cs);
|
if(iscut) return toString(cs);
|
||||||
else return cs;
|
else return cs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool copyDirectoryFiles(const QString &fromDir, const QString &toDir, bool coverFileIfExist)
|
||||||
|
{
|
||||||
|
QDir sourceDir(fromDir);
|
||||||
|
QDir targetDir(toDir);
|
||||||
|
if(!targetDir.exists()){ /**< 如果目标目录不存在,则进行创建 */
|
||||||
|
if(!targetDir.mkdir(targetDir.absolutePath()))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
QFileInfoList fileInfoList = sourceDir.entryInfoList();
|
||||||
|
foreach(QFileInfo fileInfo, fileInfoList){
|
||||||
|
if(fileInfo.fileName() == "." || fileInfo.fileName() == "..")
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if(fileInfo.isDir()){ /**< 当为目录时,递归的进行copy */
|
||||||
|
if(!copyDirectoryFiles(fileInfo.filePath(),
|
||||||
|
targetDir.filePath(fileInfo.fileName()),
|
||||||
|
coverFileIfExist))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else{ /**< 当允许覆盖操作时,将旧文件进行删除操作 */
|
||||||
|
if(coverFileIfExist && targetDir.exists(fileInfo.fileName())){
|
||||||
|
targetDir.remove(fileInfo.fileName());
|
||||||
|
}
|
||||||
|
|
||||||
|
/// 进行文件copy
|
||||||
|
if(!QFile::copy(fileInfo.filePath(),
|
||||||
|
targetDir.filePath(fileInfo.fileName()))){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
QStringList GetSimilarCurves(QString curvename,char *INI,bool isEqu)
|
QStringList GetSimilarCurves(QString curvename,char *INI,bool isEqu)
|
||||||
{
|
{
|
||||||
QStringList vars,temps;
|
QStringList vars,temps;
|
||||||
|
|
|
||||||
|
|
@ -189,6 +189,7 @@ QString toString(float value,char f='f',int dem=3,bool iscut=1,bool ise=true);
|
||||||
QString toString(double value,char f='f',int dem=3,bool iscut=1,bool ise=true);
|
QString toString(double value,char f='f',int dem=3,bool iscut=1,bool ise=true);
|
||||||
bool IsValidNmae(QString wellname);
|
bool IsValidNmae(QString wellname);
|
||||||
QString setdec(QString text,int dec=2,bool all=false);
|
QString setdec(QString text,int dec=2,bool all=false);
|
||||||
|
bool copyDirectoryFiles(const QString &fromDir, const QString &toDir, bool coverFileIfExist);
|
||||||
QStringList GetSimilarCurves(QString curvename,char *INI=NULL,bool isEQU=true);
|
QStringList GetSimilarCurves(QString curvename,char *INI=NULL,bool isEQU=true);
|
||||||
QString GetImagePath();
|
QString GetImagePath();
|
||||||
QString GetOutDataPath();
|
QString GetOutDataPath();
|
||||||
|
|
|
||||||
|
|
@ -98,6 +98,9 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||||
//关联信号槽,数据查看曲线数据
|
//关联信号槽,数据查看曲线数据
|
||||||
connect(CallManage::getInstance(), SIGNAL(sig_ShowCurve(QMap<QString,QList<QString>>)), this, SLOT(s_ShowCurve(QMap<QString,QList<QString>>)));
|
connect(CallManage::getInstance(), SIGNAL(sig_ShowCurve(QMap<QString,QList<QString>>)), this, SLOT(s_ShowCurve(QMap<QString,QList<QString>>)));
|
||||||
|
|
||||||
|
//关联信号槽,数据查看TDT数据
|
||||||
|
connect(CallManage::getInstance(), SIGNAL(sig_ShowTDT(QString, QString)), this, SLOT(s_ShowTDT(QString, QString)));
|
||||||
|
|
||||||
//关联信号槽,数据查看表格数据
|
//关联信号槽,数据查看表格数据
|
||||||
connect(CallManage::getInstance(), SIGNAL(sig_ShowTable(QString, QString)), this, SLOT(s_ShowTable(QString, QString)));
|
connect(CallManage::getInstance(), SIGNAL(sig_ShowTable(QString, QString)), this, SLOT(s_ShowTable(QString, QString)));
|
||||||
|
|
||||||
|
|
@ -237,6 +240,17 @@ void MainWindow::initTitleBar()
|
||||||
m_resultMenu->addAction(QIcon( ::GetImagePath() + "icon/ExportSVG.png"), tr("&导出SVG"), this, SLOT(s_SaveAsSvg()));
|
m_resultMenu->addAction(QIcon( ::GetImagePath() + "icon/ExportSVG.png"), tr("&导出SVG"), this, SLOT(s_SaveAsSvg()));
|
||||||
//
|
//
|
||||||
QMenu* m_SystemToolMenu = this->menuBar()->addMenu(tr("系统工具(&T)"));
|
QMenu* m_SystemToolMenu = this->menuBar()->addMenu(tr("系统工具(&T)"));
|
||||||
|
|
||||||
|
QMenu *OilMenu=m_SystemToolMenu->addMenu(QIcon( ::GetImagePath() + "icon/oilfield.png"),tr("&切换油田"));
|
||||||
|
QString skinfilename=::GetConfPath()+ "data.ini";
|
||||||
|
QSettings * pskins = new QSettings(skinfilename,QSettings::IniFormat);
|
||||||
|
pskins->setIniCodec(QTextCodec::codecForName("UTF-8"));
|
||||||
|
QStringList skins=pskins->value("oilfield",0).toStringList();
|
||||||
|
for(int skinindex=0;skinindex<skins.size();skinindex++)
|
||||||
|
{
|
||||||
|
OilMenu->addAction(QIcon( ::GetImagePath() + "icon/oilfield.png"),skins.at(skinindex),this,SLOT(slotChangeOilField()));
|
||||||
|
}
|
||||||
|
delete pskins;
|
||||||
//
|
//
|
||||||
QMenu* m_helpMenu = this->menuBar()->addMenu(tr("帮助(&H)"));
|
QMenu* m_helpMenu = this->menuBar()->addMenu(tr("帮助(&H)"));
|
||||||
}
|
}
|
||||||
|
|
@ -247,6 +261,35 @@ void MainWindow::slotExitSystem()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::slotChangeOilField()
|
||||||
|
{
|
||||||
|
QAction* aaction=(QAction*)(QObject::sender());
|
||||||
|
LoadOilfield(aaction->text());
|
||||||
|
}
|
||||||
|
void MainWindow::LoadOilfield(QString oilfield)
|
||||||
|
{
|
||||||
|
QString path=GetLogPlusPath()+QDir::separator()+"oilfield.ini";
|
||||||
|
FILE *fp=fopen(path.toStdString().c_str(),"wt");
|
||||||
|
if(fp){
|
||||||
|
fprintf(fp,"%s\n",oilfield.toStdString().c_str());
|
||||||
|
fclose(fp);
|
||||||
|
QString cs=GetConfPath()+oilfield;
|
||||||
|
QDir ss;
|
||||||
|
if(!ss.exists(cs)) {
|
||||||
|
ss.mkdir(cs);
|
||||||
|
QString sl=GetConfPath()+"胜利";
|
||||||
|
copyDirectoryFiles(sl,cs,false);
|
||||||
|
}
|
||||||
|
cs=GetImagePath()+oilfield+"符号库";
|
||||||
|
if(!ss.exists(cs)) {
|
||||||
|
ss.mkdir(cs);
|
||||||
|
QString sl=GetImagePath()+"符号库";
|
||||||
|
copyDirectoryFiles(sl,cs,false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ReadOilFieldName();
|
||||||
|
}
|
||||||
|
|
||||||
//初始化工具栏
|
//初始化工具栏
|
||||||
void MainWindow::initToolBar()
|
void MainWindow::initToolBar()
|
||||||
{
|
{
|
||||||
|
|
@ -712,6 +755,21 @@ void MainWindow::s_ShowCurve(QMap<QString,QList<QString>> mapShowObject)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TDT数据查看
|
||||||
|
void MainWindow::s_ShowTDT(QString strSlfName, QString strName)
|
||||||
|
{
|
||||||
|
if(m_centerWidgets)
|
||||||
|
{
|
||||||
|
WellLogTableDialogNew* pDialog = new WellLogTableDialogNew();
|
||||||
|
pDialog->setName(strSlfName, strName, TDT_OBJECT);
|
||||||
|
QString wellname;QString path;
|
||||||
|
GetWellNameAndPath(strSlfName, wellname, path);
|
||||||
|
m_centerWidgets->addTab(pDialog, wellname + ":" + strName);
|
||||||
|
int iCount = m_centerWidgets->count();
|
||||||
|
m_centerWidgets->m_pTabBar->setCurrentIndex(iCount-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//表格数据查看
|
//表格数据查看
|
||||||
void MainWindow::s_ShowTable(QString strSlfName, QString strName)
|
void MainWindow::s_ShowTable(QString strSlfName, QString strName)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -64,6 +64,7 @@ public:
|
||||||
|
|
||||||
void ReadConfig();
|
void ReadConfig();
|
||||||
bool closeProject();
|
bool closeProject();
|
||||||
|
void LoadOilfield(QString oilfield);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void s_New();
|
void s_New();
|
||||||
|
|
@ -76,6 +77,7 @@ public slots:
|
||||||
void s_SaveProject();
|
void s_SaveProject();
|
||||||
void s_CloseProject();
|
void s_CloseProject();
|
||||||
void slotExitSystem();
|
void slotExitSystem();
|
||||||
|
void slotChangeOilField();
|
||||||
|
|
||||||
void s_Risize();
|
void s_Risize();
|
||||||
void s_AddOne();
|
void s_AddOne();
|
||||||
|
|
@ -89,6 +91,7 @@ public slots:
|
||||||
void s_development();
|
void s_development();
|
||||||
void s_ShowParameterCard(QString strSlfName, QString strName);//参数卡数据查看
|
void s_ShowParameterCard(QString strSlfName, QString strName);//参数卡数据查看
|
||||||
void s_ShowCurve(QMap<QString,QList<QString>> mapShowObject);//曲线数据查看
|
void s_ShowCurve(QMap<QString,QList<QString>> mapShowObject);//曲线数据查看
|
||||||
|
void s_ShowTDT(QString strSlfName, QString strName);//TDT数据查看
|
||||||
void s_ShowTable(QString strSlfName, QString strName);//表格数据查看
|
void s_ShowTable(QString strSlfName, QString strName);//表格数据查看
|
||||||
void s_ShowWave(QString strSlfName, QString strName); //波列数据查看
|
void s_ShowWave(QString strSlfName, QString strName); //波列数据查看
|
||||||
void s_WelllogInformation(QString strSlfName);//编辑测井信息
|
void s_WelllogInformation(QString strSlfName);//编辑测井信息
|
||||||
|
|
|
||||||
|
|
@ -448,10 +448,21 @@ void QtProjectWidgets::loadWellTree(QTreeWidgetItem *parent, QString fileFull, Q
|
||||||
//itemWave->setData(0, Qt::UserRole + 1, indexSysInfo.at(1).toString()); // 存储额外数据,如ID
|
//itemWave->setData(0, Qt::UserRole + 1, indexSysInfo.at(1).toString()); // 存储额外数据,如ID
|
||||||
//
|
//
|
||||||
QIcon iconWave;
|
QIcon iconWave;
|
||||||
iconWave.addPixmap(QPixmap(GetImagePath() + "icon/Logs.png"), QIcon::Selected);
|
iconWave.addPixmap(QPixmap(GetImagePath() + "icon/tdt.png"), QIcon::Selected);
|
||||||
iconWave.addPixmap(QPixmap(GetImagePath() + "icon/Logs.png"), QIcon::Normal);
|
iconWave.addPixmap(QPixmap(GetImagePath() + "icon/tdt.png"), QIcon::Normal);
|
||||||
itemWave->setIcon(0, iconWave);
|
itemWave->setIcon(0, iconWave);
|
||||||
|
|
||||||
|
//波列数据
|
||||||
|
QTreeWidgetItem *itemTDT = new QTreeWidgetItem();
|
||||||
|
itemTDT->setText(0, "TDT数据");
|
||||||
|
itemTDT->setData(0, Qt::UserRole, "TDT"); // 存储额外数据,如ID
|
||||||
|
//itemTDT->setData(0, Qt::UserRole + 1, indexSysInfo.at(1).toString()); // 存储额外数据,如ID
|
||||||
|
//
|
||||||
|
QIcon iconWTDT;
|
||||||
|
iconWTDT.addPixmap(QPixmap(GetImagePath() + "icon/Logs.png"), QIcon::Selected);
|
||||||
|
iconWTDT.addPixmap(QPixmap(GetImagePath() + "icon/Logs.png"), QIcon::Normal);
|
||||||
|
itemTDT->setIcon(0, iconWTDT);
|
||||||
|
|
||||||
CLogIO * logio=new CLogIO();
|
CLogIO * logio=new CLogIO();
|
||||||
if(!logio->Open(fileFull.toStdString().c_str(),CSlfIO::modeRead))
|
if(!logio->Open(fileFull.toStdString().c_str(),CSlfIO::modeRead))
|
||||||
{
|
{
|
||||||
|
|
@ -665,6 +676,22 @@ void QtProjectWidgets::loadWellTree(QTreeWidgetItem *parent, QString fileFull, Q
|
||||||
}
|
}
|
||||||
itemWave->addChild(itemWaveChild);
|
itemWave->addChild(itemWaveChild);
|
||||||
}
|
}
|
||||||
|
else if(TDT_OBJECT == curvetype)
|
||||||
|
{
|
||||||
|
//TDT-》树图
|
||||||
|
QTreeWidgetItem *itemTDTChild = new QTreeWidgetItem();
|
||||||
|
itemTDTChild->setText(0, strCurveName);
|
||||||
|
itemTDTChild->setData(0, Qt::UserRole, "TDTObject"); // 存储额外数据,如ID
|
||||||
|
itemTDTChild->setData(0, Qt::UserRole + 1, fileFull); // 存储额外数据,井次文件路径
|
||||||
|
itemTDTChild->setData(0, Qt::UserRole + 2, wellname); // 存储额外数据,井名
|
||||||
|
itemTDTChild->setData(0, Qt::UserRole + 3, strCurveName); // 存储额外数据,波列卡
|
||||||
|
itemTDTChild->setIcon(0, iconWave);
|
||||||
|
if (0 == itemTDT->childCount())
|
||||||
|
{
|
||||||
|
itemwell->addChild(itemTDT);//添加一级子节点
|
||||||
|
}
|
||||||
|
itemTDT->addChild(itemTDTChild);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
delete []curvename;
|
delete []curvename;
|
||||||
delete []aliasname;
|
delete []aliasname;
|
||||||
|
|
@ -712,6 +739,10 @@ void QtProjectWidgets::initMenu()
|
||||||
_menuWaveObject = new QMenu(ui->treeWidget);
|
_menuWaveObject = new QMenu(ui->treeWidget);
|
||||||
initWaveObjectTreeMenu(_menuWaveObject, ui->treeWidget);
|
initWaveObjectTreeMenu(_menuWaveObject, ui->treeWidget);
|
||||||
|
|
||||||
|
//TDT对象-右键菜单
|
||||||
|
_menuTDTObject = new QMenu(ui->treeWidget);
|
||||||
|
initTDTObjectTreeMenu(_menuTDTObject, ui->treeWidget);
|
||||||
|
|
||||||
//表格对象-右键菜单
|
//表格对象-右键菜单
|
||||||
_menuTableObject = new QMenu(ui->treeWidget);
|
_menuTableObject = new QMenu(ui->treeWidget);
|
||||||
initTableObjectTreeMenu(_menuTableObject, ui->treeWidget);
|
initTableObjectTreeMenu(_menuTableObject, ui->treeWidget);
|
||||||
|
|
@ -863,7 +894,34 @@ void QtProjectWidgets::initWaveObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidg
|
||||||
connect(action_Delete, SIGNAL(triggered()), this, SLOT(onDeleteObject()));
|
connect(action_Delete, SIGNAL(triggered()), this, SLOT(onDeleteObject()));
|
||||||
menu->addAction(action_Delete);
|
menu->addAction(action_Delete);
|
||||||
}
|
}
|
||||||
|
//初始化TDT对象-右键菜单
|
||||||
|
void QtProjectWidgets::initTDTObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget)
|
||||||
|
{
|
||||||
|
QAction* action_TableObject = new QAction("数据查看", treeWidget);
|
||||||
|
action_TableObject->setIcon(QIcon(GetImagePath() + "icon/Sheet.png")); // 设置图标
|
||||||
|
connect(action_TableObject, SIGNAL(triggered(bool)), this, SLOT(onShowTDT(bool)));
|
||||||
|
menu->addAction(action_TableObject);
|
||||||
|
|
||||||
|
QAction* action_ReName = new QAction("重命名", treeWidget);
|
||||||
|
action_ReName->setIcon(QIcon(GetImagePath() + "icon/Rename.png")); // 设置图标":/image/u174.png"
|
||||||
|
connect(action_ReName, SIGNAL(triggered()), this, SLOT(onReNameObject()));
|
||||||
|
menu->addAction(action_ReName);
|
||||||
|
|
||||||
|
QAction* action_DepthShift = new QAction("深度移动", treeWidget);
|
||||||
|
action_DepthShift->setIcon(QIcon(GetImagePath() + "icon/RigidDepthShifting.png")); // 设置图标
|
||||||
|
connect(action_DepthShift, SIGNAL(triggered(bool)), this, SLOT(onDepthShift(bool)));
|
||||||
|
menu->addAction(action_DepthShift);
|
||||||
|
|
||||||
|
QAction* action_Copy = new QAction("复制", treeWidget);
|
||||||
|
action_Copy->setIcon(QIcon(GetImagePath() + "icon/Copy.png")); // 设置图标":/image/u174.png"
|
||||||
|
connect(action_Copy, SIGNAL(triggered()), this, SLOT(onCopySelObject()));
|
||||||
|
menu->addAction(action_Copy);
|
||||||
|
|
||||||
|
QAction* action_Delete = new QAction("删除", treeWidget);
|
||||||
|
action_Delete->setIcon(QIcon(GetImagePath() + "icon/Delete.png")); // 设置图标":/image/u174.png"
|
||||||
|
connect(action_Delete, SIGNAL(triggered()), this, SLOT(onDeleteObject()));
|
||||||
|
menu->addAction(action_Delete);
|
||||||
|
}
|
||||||
//初始化表格对象-右键菜单
|
//初始化表格对象-右键菜单
|
||||||
void QtProjectWidgets::initTableObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget)
|
void QtProjectWidgets::initTableObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget)
|
||||||
{
|
{
|
||||||
|
|
@ -1152,7 +1210,7 @@ void QtProjectWidgets::onDepthShift(bool checked)
|
||||||
foreach(QTreeWidgetItem *item, ui->treeWidget->selectedItems())
|
foreach(QTreeWidgetItem *item, ui->treeWidget->selectedItems())
|
||||||
{
|
{
|
||||||
QString strTreeTag = item->data(0, Qt::UserRole).toString();
|
QString strTreeTag = item->data(0, Qt::UserRole).toString();
|
||||||
if (strTreeTag == "curveObject" || strTreeTag=="waveObject" || strTreeTag == "tableObject")
|
if (strTreeTag == "curveObject" || strTreeTag=="waveObject" || strTreeTag == "tableObject" || strTreeTag == "TDTObject")
|
||||||
{
|
{
|
||||||
QString strLineName = item->text(0);
|
QString strLineName = item->text(0);
|
||||||
QString strSlfName = item->data(0, Qt::UserRole+1).toString();
|
QString strSlfName = item->data(0, Qt::UserRole+1).toString();
|
||||||
|
|
@ -1190,6 +1248,12 @@ void QtProjectWidgets::ApplyShiftDepth(QString strSlfName, QString strLineName,
|
||||||
emit CallManage::getInstance()->sig_ReloadPlot("all", strSlfName, strLineName);
|
emit CallManage::getInstance()->sig_ReloadPlot("all", strSlfName, strLineName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//表格数据查看
|
||||||
|
void QtProjectWidgets::onShowTDT(bool checked)
|
||||||
|
{
|
||||||
|
emit CallManage::getInstance()->sig_ShowTDT(m_strSlfName, m_strCurveObjectName);
|
||||||
|
}
|
||||||
|
|
||||||
//表格数据查看
|
//表格数据查看
|
||||||
void QtProjectWidgets::onShowTable(bool checked)
|
void QtProjectWidgets::onShowTable(bool checked)
|
||||||
{
|
{
|
||||||
|
|
@ -2138,6 +2202,12 @@ void QtProjectWidgets::onItemClicked(QTreeWidgetItem* item, int index)
|
||||||
m_strCurveObjectName = item->text(0);
|
m_strCurveObjectName = item->text(0);
|
||||||
m_strSlfName = item->data(0, Qt::UserRole+1).toString();
|
m_strSlfName = item->data(0, Qt::UserRole+1).toString();
|
||||||
}
|
}
|
||||||
|
else if (strTreeTag == "TDTObject"){
|
||||||
|
//TDT-右键菜单
|
||||||
|
popMenu = _menuTDTObject;
|
||||||
|
m_strCurveObjectName = item->text(0);
|
||||||
|
m_strSlfName = item->data(0, Qt::UserRole+1).toString();
|
||||||
|
}
|
||||||
else if (strTreeTag == "waveObject"){
|
else if (strTreeTag == "waveObject"){
|
||||||
//波列对象
|
//波列对象
|
||||||
popMenu = _menuWaveObject;
|
popMenu = _menuWaveObject;
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,8 @@ public slots:
|
||||||
void onShowCurve(bool checked = false); //数据查看
|
void onShowCurve(bool checked = false); //数据查看
|
||||||
void ApplyShiftDepth(QString strSlfName, QString strLineName, double DepthOffset);
|
void ApplyShiftDepth(QString strSlfName, QString strLineName, double DepthOffset);
|
||||||
void onDepthShift(bool checked = false); //深度移动
|
void onDepthShift(bool checked = false); //深度移动
|
||||||
|
//TDT
|
||||||
|
void onShowTDT(bool checked = false); //数据查看
|
||||||
//表格
|
//表格
|
||||||
void onShowTable(bool checked = false); //数据查看
|
void onShowTable(bool checked = false); //数据查看
|
||||||
//波列
|
//波列
|
||||||
|
|
@ -92,6 +94,7 @@ public:
|
||||||
QMenu *_menuCardObject; //参数卡
|
QMenu *_menuCardObject; //参数卡
|
||||||
QMenu *_menuCurveObject; //曲线对象(AC、BS...)
|
QMenu *_menuCurveObject; //曲线对象(AC、BS...)
|
||||||
QMenu *_menuWaveObject; //波列对象
|
QMenu *_menuWaveObject; //波列对象
|
||||||
|
QMenu *_menuTDTObject; //TDT对象
|
||||||
QMenu *_menuTableObject; //表格对象
|
QMenu *_menuTableObject; //表格对象
|
||||||
QMenu *_menuWellName; //井名
|
QMenu *_menuWellName; //井名
|
||||||
QMenu *_menuSlfName; //井次
|
QMenu *_menuSlfName; //井次
|
||||||
|
|
@ -141,6 +144,8 @@ public:
|
||||||
void initCurveObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
void initCurveObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
||||||
//初始化波列对象-右键菜单
|
//初始化波列对象-右键菜单
|
||||||
void initWaveObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
void initWaveObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
||||||
|
//初始化TDT对象-右键菜单
|
||||||
|
void initTDTObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
||||||
//初始化表格对象-右键菜单
|
//初始化表格对象-右键菜单
|
||||||
void initTableObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
void initTableObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
||||||
//初始化根节点(井名称)-右键菜单
|
//初始化根节点(井名称)-右键菜单
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user