logplus/DataOutput/include/TrainGenModuleDlg.h

143 lines
3.4 KiB
C
Raw Permalink Normal View History

2025-10-29 17:23:30 +08:00
#ifndef TRAINGENMODULEDLG_H
#define TRAINGENMODULEDLG_H
#pragma once
#pragma warning(push,0)
#include <cassert>
#include <QDialog>
#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<QString,bool> 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-公制M1-英制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<QString,WellMap> CurveMap,WaveMap,TableMap,ParMap,OtherMap,TotalMap;
//void AddWidgetLine(QMap<QString,WellMap> 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