2025-12-02 15:23:42 +08:00
|
|
|
|
#pragma once
|
2025-10-29 17:23:30 +08:00
|
|
|
|
#pragma warning(push,0)
|
|
|
|
|
|
#include <cassert>
|
|
|
|
|
|
#include <QDialog>
|
|
|
|
|
|
#include "ConsoleOutputWidget.h"
|
2025-12-02 15:23:42 +08:00
|
|
|
|
#include "ui_SLf2File.h"
|
2025-10-29 17:23:30 +08:00
|
|
|
|
#include "NameMapDlg.h"
|
|
|
|
|
|
#include "DataOutputDefs.h"
|
|
|
|
|
|
#include "OSGFramework.h"
|
|
|
|
|
|
#pragma execution_character_set("utf-8")
|
|
|
|
|
|
|
|
|
|
|
|
typedef QMap<QString,bool> WellMap;
|
|
|
|
|
|
#pragma warning(pop)
|
|
|
|
|
|
|
|
|
|
|
|
BEGIN_OSGGRAPHICS_NAMESPACE
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 表格选择列自定义委托
|
|
|
|
|
|
*/
|
|
|
|
|
|
class DATAOUTPUT_EXPORT CSlf2FileDlg : public QDialog
|
|
|
|
|
|
{
|
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSlf2FileDlg(QWidget * parent=0, Qt::WindowFlags flags=0);
|
|
|
|
|
|
~CSlf2FileDlg();
|
|
|
|
|
|
Ui_Slf2File *m_pUI;
|
|
|
|
|
|
virtual void execOutputWellLog(const QStringList& namelist);
|
2025-12-02 15:23:42 +08:00
|
|
|
|
virtual void outWellLogRound(const QStringList& nameList1,const QStringList& curveList);
|
2025-10-29 17:23:30 +08:00
|
|
|
|
private slots:
|
|
|
|
|
|
/**
|
|
|
|
|
|
*@brief 保存槽函数
|
|
|
|
|
|
*/
|
|
|
|
|
|
void slotSave();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
*@brief 取消槽函数
|
|
|
|
|
|
*/
|
|
|
|
|
|
void slotCancel();
|
|
|
|
|
|
void changeFormattype(int);//选择输出格式类型
|
|
|
|
|
|
void slotAllCheck();
|
|
|
|
|
|
void slotCheckCurve();
|
|
|
|
|
|
void slotCheckWave();
|
|
|
|
|
|
void slotCheckTable();
|
|
|
|
|
|
void slotCheckPar();
|
|
|
|
|
|
void slotCheckOther();
|
|
|
|
|
|
void slotSetCurrentDir();//输出文件单独存放在当前slf文件目录
|
|
|
|
|
|
void slotSetProjectDir();//输出文件集中存放在Project目录
|
|
|
|
|
|
void slotSetDir();//设置输出文件集中存放在用户指定的目录
|
|
|
|
|
|
void slotbuttonJudge(int);
|
|
|
|
|
|
void slotbuttonJudge2(int);
|
|
|
|
|
|
void slotChangeOutDir(QString);
|
|
|
|
|
|
void slotbuttonJudge4(int);
|
|
|
|
|
|
void slotSetOutDepPar();
|
|
|
|
|
|
void slotGetCell(int row,int column);
|
|
|
|
|
|
void slotGetCell2(int row,int column);
|
|
|
|
|
|
void slotSelAll();
|
|
|
|
|
|
void slotNotSelAll();
|
|
|
|
|
|
void slotReverseSel();
|
|
|
|
|
|
void slotSelAllWell(int col,bool flag);
|
|
|
|
|
|
void slotNameMap();
|
|
|
|
|
|
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<QString,WellMap> CurveMap,WaveMap,TableMap,ParMap,OtherMap,TotalMap;
|
|
|
|
|
|
void AddWidgetLine(QMap<QString,WellMap> DataMap,int *Row,QString TypeName);
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
END_OSGGRAPHICS_NAMESPACE;
|