/** * @file CoreImageConfigDialogNew.h * @date July 2, 2014 * @auto zhangjie */ #ifndef WELLLOGTABLEDIALOGNEW_H #define WELLLOGTABLEDIALOGNEW_H #pragma warning( push ,0) #include #include #include "WellLogUI.h" //#include "Trajectory.h" //#include "WellLogTableModel.h" //#include "ObjWelllog.h" //#include "BaseDialog.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&list); bool TableToCSVFile(QTableWidget *tableWidget); bool TableFromCSVFile(QTableWidget *tableWidget); virtual void ReFreshWindow(int type); // QList 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::vectorInterceptDepthPoints(const SelectMutiCurve mutiCurve,const std::vectordimvM); /*** *@brief 初始化多维曲线对话框的基本信息 */ void InitMutiCurves(); void InitMutiCurvesPropertyTable(const SelectMutiCurve mutiCurves, const QString wellLogName,const std::vectorMutiVM); void InitSingleDimTable(int depthNum); void GetSelectMutiCurve(SelectMutiCurve &mutiCurve ); private: Ui::WellLogTableDialogNew* m_pUI; // QList m_rBaseObjectlist; // CObjWell* m_pWell; // QList m_pWellLogs; // //QList m_pAllWellLogs; // CBaseObjectImpl *m_pBaseObjectImpl; /** 渲染类型,目前只支持3种模型的 井轨迹 和 常规曲线 多维曲线 0:没有获得渲染数据来源 1:渲染 井轨迹 2:渲染 常规曲线 多维曲线 TODO:更换为枚举模式,重构为支持更多类型 */ int m_rendererType; SelectMutiCurve m_MutiCurves; std::vectorm_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; public: void setName(QString strOldPath, QString strOldName); }; #endif /* PAITABLEWIDGET_H_ */