logplus/WellLogUI/include/WellLogTableDialogNew.h

144 lines
3.2 KiB
C
Raw Normal View History

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