2025-10-29 17:23:30 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* @file CoreImageConfigDialogNew.h
|
|
|
|
|
|
* @date July 2, 2014
|
|
|
|
|
|
* @auto zhangjie
|
|
|
|
|
|
*/
|
|
|
|
|
|
#ifndef WELLLOGTABLEDIALOGNEW_H
|
|
|
|
|
|
#define WELLLOGTABLEDIALOGNEW_H
|
|
|
|
|
|
|
|
|
|
|
|
#pragma warning( push ,0)
|
|
|
|
|
|
#include <QDialog>
|
|
|
|
|
|
#include <QTableWidget>
|
|
|
|
|
|
#include "WellLogUI.h"
|
|
|
|
|
|
//#include "Trajectory.h"
|
|
|
|
|
|
//#include "WellLogTableModel.h"
|
2025-11-10 16:35:40 +08:00
|
|
|
|
#include "ObjWelllog.h"
|
2025-10-29 17:23:30 +08:00
|
|
|
|
//#include "BaseDialog.h"
|
2025-11-10 16:35:40 +08:00
|
|
|
|
#include "LogIO.h"
|
2025-10-29 17:23:30 +08:00
|
|
|
|
#include "MemRdWt.h"
|
|
|
|
|
|
#pragma warning( pop )
|
|
|
|
|
|
|
|
|
|
|
|
//class CDataManagger;
|
2025-11-10 16:35:40 +08:00
|
|
|
|
class GridDataAdapter;
|
2025-10-29 17:23:30 +08:00
|
|
|
|
|
|
|
|
|
|
namespace Ui
|
|
|
|
|
|
{
|
|
|
|
|
|
class WellLogTableDialogNew;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
enum dataType
|
|
|
|
|
|
{
|
|
|
|
|
|
valid_NULL,
|
|
|
|
|
|
valid_Type,
|
|
|
|
|
|
Invalid_Type,
|
|
|
|
|
|
};
|
|
|
|
|
|
struct SelectMutiCurve
|
|
|
|
|
|
{
|
|
|
|
|
|
int StartDepth;
|
|
|
|
|
|
int EndDepth;
|
|
|
|
|
|
int StartDim;
|
|
|
|
|
|
int EndDim;
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @class WellLogTableDialogNew
|
|
|
|
|
|
* @brief WellLogTableDialogNew well和wellLog 数据库查看表格对话框
|
|
|
|
|
|
*/
|
|
|
|
|
|
class OSGWELLLOGUI_EXPORT WellLogTableDialogNew : public QDialog
|
|
|
|
|
|
{
|
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
public:
|
|
|
|
|
|
WellLogTableDialogNew(QWidget *parent = 0, Qt::WindowFlags flags = 0);
|
|
|
|
|
|
|
|
|
|
|
|
~WellLogTableDialogNew(void);
|
|
|
|
|
|
//void SetViewObject(QList<CBaseObject *>&list);
|
|
|
|
|
|
bool TableToCSVFile(QTableWidget *tableWidget);
|
|
|
|
|
|
bool TableFromCSVFile(QTableWidget *tableWidget);
|
|
|
|
|
|
virtual void ReFreshWindow(int type);
|
|
|
|
|
|
|
|
|
|
|
|
// QList<CBaseObject *> GetViewObject()
|
|
|
|
|
|
// {
|
|
|
|
|
|
// return m_rBaseObjectlist;
|
|
|
|
|
|
// }
|
|
|
|
|
|
//luol 20200302
|
|
|
|
|
|
protected:
|
|
|
|
|
|
void showEvent(QShowEvent *evt);
|
|
|
|
|
|
void resizeEvent(QResizeEvent *evt);
|
|
|
|
|
|
// Event handlers
|
|
|
|
|
|
bool event(QEvent *evt);
|
|
|
|
|
|
|
|
|
|
|
|
signals:
|
|
|
|
|
|
void signalSave();
|
|
|
|
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
|
|
void slotSave();
|
|
|
|
|
|
void SelelctOk();
|
|
|
|
|
|
void slotExport();
|
|
|
|
|
|
void slotImport();
|
|
|
|
|
|
void slotExpdView();
|
|
|
|
|
|
void slotVerScrollValueChange(int nValue);
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
void swtichViewSize();
|
|
|
|
|
|
void RendererHead();
|
|
|
|
|
|
void InitWell();
|
|
|
|
|
|
bool InitWellLog();
|
|
|
|
|
|
|
|
|
|
|
|
void SetTableTitleList(const SelectMutiCurve mutiCurve,QStringList &Titlelist,Ui::WellLogTableDialogNew*& m_pUI);
|
|
|
|
|
|
/***
|
|
|
|
|
|
*@brief 截取曲线深度段
|
|
|
|
|
|
*/
|
|
|
|
|
|
std::vector<float>InterceptDepthPoints(const SelectMutiCurve mutiCurve,const std::vector<float>dimvM);
|
|
|
|
|
|
/***
|
|
|
|
|
|
*@brief 初始化多维曲线对话框的基本信息
|
|
|
|
|
|
*/
|
|
|
|
|
|
void InitMutiCurves();
|
|
|
|
|
|
|
|
|
|
|
|
void InitMutiCurvesPropertyTable(const SelectMutiCurve mutiCurves, const QString wellLogName,const std::vector<float>MutiVM);
|
|
|
|
|
|
void InitSingleDimTable(int depthNum);
|
|
|
|
|
|
void GetSelectMutiCurve(SelectMutiCurve &mutiCurve );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
Ui::WellLogTableDialogNew* m_pUI;
|
|
|
|
|
|
// QList<CBaseObject *> m_rBaseObjectlist;
|
|
|
|
|
|
// CObjWell* m_pWell;
|
2025-11-10 16:35:40 +08:00
|
|
|
|
QList<CObjWellLog*> m_pWellLogs;
|
2025-10-29 17:23:30 +08:00
|
|
|
|
// //QList<CObjWellLog*> m_pAllWellLogs;
|
|
|
|
|
|
// CBaseObjectImpl *m_pBaseObjectImpl;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
渲染类型,目前只支持3种模型的 井轨迹 和 常规曲线 多维曲线
|
|
|
|
|
|
0:没有获得渲染数据来源
|
|
|
|
|
|
1:渲染 井轨迹
|
|
|
|
|
|
2:渲染 常规曲线 多维曲线
|
|
|
|
|
|
TODO:更换为枚举模式,重构为支持更多类型
|
|
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
int m_rendererType;
|
|
|
|
|
|
SelectMutiCurve m_MutiCurves;
|
|
|
|
|
|
std::vector<float>m_MutiVM;
|
|
|
|
|
|
QString MutiCurveLogName;
|
|
|
|
|
|
QStringList m_TitleField;
|
|
|
|
|
|
dataType m_DataTyle;
|
|
|
|
|
|
//luol 20200302
|
2025-11-10 16:35:40 +08:00
|
|
|
|
GridDataAdapter* m_gridData;
|
2025-10-29 17:23:30 +08:00
|
|
|
|
|
|
|
|
|
|
bool m_isShowDig;
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
QString FileName,CurveName;
|
|
|
|
|
|
int index;
|
|
|
|
|
|
Slf_CURVE curveinfo;
|
|
|
|
|
|
float *val;
|
|
|
|
|
|
DWORD count;
|
|
|
|
|
|
float sdep,edep,rlev,curDepth;
|
2025-11-10 16:35:40 +08:00
|
|
|
|
int m_ObjectType;
|
2025-10-29 17:23:30 +08:00
|
|
|
|
|
|
|
|
|
|
public:
|
2025-11-10 16:35:40 +08:00
|
|
|
|
void setName(QString strOldPath, QString strOldName, int nObjectType);
|
2025-10-29 17:23:30 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* PAITABLEWIDGET_H_ */
|