logplus/DataOutput/include/TrainGenModuleDlg.h
2025-10-29 17:23:30 +08:00

143 lines
3.4 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.

#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