logplus/WellLogUI/include/WellLogTableDialogNew.h
2025-11-10 16:35:40 +08:00

144 lines
3.2 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* @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_ */