添加TDT格式的数据加载显示,添加切换油田功能

This commit is contained in:
zhaolei 2026-04-26 16:01:18 +08:00
parent 5c77249679
commit 174d7c6346
13 changed files with 256 additions and 7 deletions

View File

@ -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);//编辑测井信息

View 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

View File

@ -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

View 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

View File

@ -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();

View File

@ -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()

View File

@ -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);

View File

@ -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;

View File

@ -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();

View File

@ -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)
{ {

View File

@ -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);//编辑测井信息

View File

@ -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;

View File

@ -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);
//初始化根节点(井名称)-右键菜单 //初始化根节点(井名称)-右键菜单