#ifndef TRAINGENMODULEDLG_H #define TRAINGENMODULEDLG_H #pragma once #pragma warning(push,0) #include #include #include "ConsoleOutputWidget.h" #include "ui_TrainGenModule.h" #include "DataOutputDefs.h" // #include "log.h" #include "OSGFramework.h" #pragma execution_character_set("utf-8") namespace Ui { class TrainGenModule; } struct MLTABLE { public: QString Name; int attrNum; int outputNum; QStringList attrList; QStringList outputList; QString mlfilePath; QString mlfileName; QString mlModulePath; int classNum; QStringList classNames; }; typedef QMap WellMap; #pragma warning(pop) BEGIN_OSGGRAPHICS_NAMESPACE /** * @brief 表格选择列自定义委托 */ class DATAOUTPUT_EXPORT CTrainGenModuleDlg : public QDialog { Q_OBJECT public: CTrainGenModuleDlg(QWidget * parent=0, Qt::WindowFlags flags=0); ~CTrainGenModuleDlg() { //if(m_pUI) delete m_pUI; } //Ui_TrainGenModule *tgm_pUI; Ui::TrainGenModule *tgm_pUI; virtual void execOutputMLmodel(const QStringList& namelist){}; private slots: void mlChanged_SLOT(QString v); //模型更改 void sdep_doubleSpinBox_SLOT(float);//控制前后深度不重叠 void edep_doubleSpinBox_SLOT(float); void genModule_SLOT(); void cancel_SLOT(); /** *@brief 保存槽函数 */ //void slotSave(); /** *@brief 取消槽函数 */ //void slotCancel(); private: QStringList ResultList; QStringList slfNameList; int moduleNum; bool initDoubleSpinBox; void setDepRange(float s, float e); void initMLList(); void initRESULTList(); bool reAttrTableWidget(int index);//更新特征表 void setOutRlev(float); protected: //void showEvent(QShowEvent *); //void resizeEvent(QResizeEvent *); public: QString ExtName[10]; int FormatType; int DirFlag;//输出文件存放目录标示:0-当前目录,1-Project目录,2-用户指定的目录 int UnitFlag;//深度单位标志:0-公制(M),1-英制(Feet) int OutFlag;//输出对象定制方案 0-全部输出,1-交互定制,2-手工定制 QString TypeName; QString DirName;//用户指定的输出目录名 QString ProjectDirName;//Project目录 QStringList WellNamelist;// 纯井名:不含路径和后缀 QStringList nameList;//输入文件名 whp add 2020.2.20 QString Sdep; QString Edep; QString val; bool m_RlevIsCheck; bool m_EdepIsCheck; bool m_SdepIsCheck; bool m_CurveIsCheck; bool m_WaveIsCheck; bool m_TableIsCheck; bool m_ParIsCheck; bool m_OtherIsCheck; bool m_AllIsCheck; float m_Rlev; float m_Sdep; float m_Edep; //void SetDepInfo(QString wellname,int i);//,float outsdep,float outedep,float outrlev); //void SetOutNameList(); //void SetObjectNameList(); float outsdep,outedep,outrlev,minsdep,minedep,minrlev,maxsdep,maxedep,maxrlev; QString currentWellName; bool m_bFirstShowWellname; QStringList m_WellAndRound;//井名_井次名 //对象名称,包含该对象的井次列表 //曲线名,{井名_井次名1,勾选状态},{井名_井次名2,勾选状态}。。。{井名_井次名n,勾选状态} QMap CurveMap,WaveMap,TableMap,ParMap,OtherMap,TotalMap; //void AddWidgetLine(QMap DataMap,int *Row,QString TypeName); MLTABLE *mlTableList; float outRlev; bool set_slfNameList(const QStringList& nameList); void SetDepInfo(QString wellname,int i); int getModuleNum(); int getAttrNum(); void set_well_tableWidget_RowCount(const int); }; END_OSGGRAPHICS_NAMESPACE; #endif