144 lines
3.2 KiB
C++
144 lines
3.2 KiB
C++
/**
|
||
* @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"
|
||
#include "ObjWelllog.h"
|
||
//#include "BaseDialog.h"
|
||
#include "LogIO.h"
|
||
#include "MemRdWt.h"
|
||
#pragma warning( pop )
|
||
|
||
//class CDataManagger;
|
||
class GridDataAdapter;
|
||
|
||
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;
|
||
QList<CObjWellLog*> m_pWellLogs;
|
||
// //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
|
||
GridDataAdapter* m_gridData;
|
||
|
||
bool m_isShowDig;
|
||
|
||
public:
|
||
QString FileName,CurveName;
|
||
int index;
|
||
Slf_CURVE curveinfo;
|
||
float *val;
|
||
DWORD count;
|
||
float sdep,edep,rlev,curDepth;
|
||
int m_ObjectType;
|
||
|
||
public:
|
||
void setName(QString strOldPath, QString strOldName, int nObjectType);
|
||
};
|
||
|
||
#endif /* PAITABLEWIDGET_H_ */
|