169 lines
5.7 KiB
C++
169 lines
5.7 KiB
C++
#pragma warning(push,0)
|
|
// #include "Family.h"
|
|
#include <QMessageBox>
|
|
#include "AddCompCurveDlg.h"
|
|
#include "ui_AddCompCurve.h"
|
|
#include "CStringType.h"
|
|
#include "GeometryUtils.h"
|
|
#include <QTextStream>
|
|
#include "DataObject.h"
|
|
#pragma warning(pop)
|
|
using namespace pai::ios::welllog;
|
|
BEGIN_OSGGRAPHICS_NAMESPACE
|
|
CAddCompCurveDlg::CAddCompCurveDlg(QWidget * parent, Qt::WindowFlags flags)
|
|
: QDialog(parent,flags)
|
|
{
|
|
m_pUI = new Ui_AddCompCurve();
|
|
m_pUI->setupUi(this);
|
|
QObject::connect(m_pUI->okbtn, SIGNAL(clicked()), this, SLOT(slotSave()));
|
|
QObject::connect(m_pUI->cancelbtn, SIGNAL(clicked()), this, SLOT(slotCancel()));
|
|
|
|
QObject::connect(m_pUI->checkBox_Curve, SIGNAL(clicked()), this, SLOT(slotCheckCurve()));
|
|
QObject::connect(m_pUI->checkBox_Wave, SIGNAL(clicked()), this, SLOT(slotCheckWave()));
|
|
QObject::connect(m_pUI->pushButton_SelAll, SIGNAL(clicked()), this, SLOT(slotSelAll()));
|
|
QObject::connect(m_pUI->pushButton_NotSelAll, SIGNAL(clicked()), this, SLOT(slotNotSelAll()));
|
|
QObject::connect(m_pUI->pushButton_ReSel, SIGNAL(clicked()), this, SLOT(slotReverseSel()));
|
|
m_pUI->tableWidgetNewCurve->setColumnCount(5);
|
|
QStringList header;
|
|
header<<" 名称"<<"起始深度"<<"终止深度"<<"采样间隔"<<"元素个数";
|
|
m_pUI->tableWidgetNewCurve->setHorizontalHeaderLabels(header);
|
|
|
|
m_pUI->tableWidgetNewCurve->horizontalHeader()->setStretchLastSection(true);
|
|
//m_pUI->tableWidgetNewCurve->horizontalHeader()->setResizeMode(0, QHeaderView::ResizeToContents);
|
|
CurveCheck=1;WaveCheck=1;
|
|
}
|
|
|
|
void CAddCompCurveDlg::slotSave()
|
|
{
|
|
NewList.clear();
|
|
for(int i=0;i<m_pUI->tableWidgetNewCurve->rowCount();i++)
|
|
{
|
|
Qt::CheckState eState= m_pUI->tableWidgetNewCurve->item(i,0)->checkState();
|
|
if (eState==Qt::Unchecked)continue;
|
|
NewList.append(m_pUI->tableWidgetNewCurve->item(i,0)->text());
|
|
}
|
|
accept();
|
|
}
|
|
/**
|
|
*@brief 取消槽函数
|
|
*/
|
|
void CAddCompCurveDlg::slotCancel()
|
|
{
|
|
reject ();
|
|
}
|
|
void CAddCompCurveDlg::init()
|
|
{
|
|
m_pUI->checkBox_Curve->setCheckState(Qt::Checked);
|
|
m_pUI->checkBox_Wave->setCheckState(Qt::Checked);
|
|
RebrushList();
|
|
}
|
|
|
|
void CAddCompCurveDlg::slotCheckCurve()
|
|
{
|
|
CurveCheck=!CurveCheck;
|
|
RebrushList();
|
|
}
|
|
void CAddCompCurveDlg::slotCheckWave()
|
|
{
|
|
WaveCheck=!WaveCheck;
|
|
RebrushList();
|
|
}
|
|
void CAddCompCurveDlg::slotSelAll()
|
|
{
|
|
for(int i=0;i<m_pUI->tableWidgetNewCurve->rowCount();i++)
|
|
{
|
|
if(IsExist(m_pUI->tableWidgetNewCurve->item(i,0)->text()))continue;
|
|
m_pUI->tableWidgetNewCurve->item(i,0)->setCheckState(Qt::Checked);
|
|
}
|
|
}
|
|
void CAddCompCurveDlg::slotNotSelAll()
|
|
{
|
|
for(int i=0;i<m_pUI->tableWidgetNewCurve->rowCount();i++)m_pUI->tableWidgetNewCurve->item(i,0)->setCheckState(Qt::Unchecked);
|
|
}
|
|
void CAddCompCurveDlg::slotReverseSel()
|
|
{
|
|
for(int i=0;i<m_pUI->tableWidgetNewCurve->rowCount();i++)
|
|
{
|
|
if(IsExist(m_pUI->tableWidgetNewCurve->item(i,0)->text()))continue;
|
|
Qt::CheckState eState= m_pUI->tableWidgetNewCurve->item(i,0)->checkState();
|
|
if (eState==Qt::Checked)m_pUI->tableWidgetNewCurve->item(i,0)->setCheckState(Qt::Unchecked);
|
|
else m_pUI->tableWidgetNewCurve->item(i,0)->setCheckState(Qt::Checked);
|
|
}
|
|
}
|
|
bool CAddCompCurveDlg::IsExist(QString Name)
|
|
{
|
|
foreach(QString name, OldList)
|
|
{
|
|
if(Name==name)
|
|
{
|
|
return 1;
|
|
break;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
void CAddCompCurveDlg::RebrushList()
|
|
{
|
|
m_pUI->tableWidgetNewCurve->clearContents();
|
|
CMemRdWt *mrw=new CMemRdWt();
|
|
mrw->Open(FileName.toStdString().c_str(),CSlfIO::modeRead);
|
|
int ObjectNumber=mrw->GetObjectCount();
|
|
int CurveCount=0,WaveCount=0;
|
|
m_pUI->tableWidgetNewCurve->setRowCount(ObjectNumber);
|
|
char Name[200];
|
|
int row=0;
|
|
for(int i=0;i<ObjectNumber;i++)
|
|
{
|
|
if(mrw->GetObjectStatus(i)!=OBJECT_NORMAL)
|
|
{
|
|
continue;
|
|
}
|
|
mrw->GetObjectName(i,Name);
|
|
short Attribute,SubAttribute;
|
|
Attribute=mrw->GetObjectType(i);
|
|
if(Attribute==CURVE_OBJECT)
|
|
{
|
|
if(!CurveCheck)continue;
|
|
Slf_CURVE cInfo;
|
|
int index=mrw->OpenCurve(Name);
|
|
if(index<0)continue;
|
|
mrw->GetCurveInfo(index,&cInfo);
|
|
m_pUI->tableWidgetNewCurve->setItem(row,0,new QTableWidgetItem(QString(QLatin1String(cInfo.Name))));
|
|
m_pUI->tableWidgetNewCurve->setItem(row,1,new QTableWidgetItem(QString::number(cInfo.StartDepth)));
|
|
m_pUI->tableWidgetNewCurve->setItem(row,2,new QTableWidgetItem(QString::number(cInfo.EndDepth)));
|
|
m_pUI->tableWidgetNewCurve->setItem(row,3,new QTableWidgetItem(QString::number(cInfo.DepLevel)));
|
|
m_pUI->tableWidgetNewCurve->setItem(row,4,new QTableWidgetItem("1"));
|
|
if(IsExist(QString(QLatin1String(cInfo.Name))))
|
|
{
|
|
m_pUI->tableWidgetNewCurve->item(row,0)->setFlags(Qt::NoItemFlags);
|
|
m_pUI->tableWidgetNewCurve->item(row,0)->setCheckState(Qt::Unchecked);
|
|
}
|
|
else m_pUI->tableWidgetNewCurve->item(row,0)->setCheckState(Qt::Checked);
|
|
}
|
|
else if(Attribute==WAVE_OBJECT)
|
|
{
|
|
if(!WaveCheck)continue;
|
|
Slf_WAVE cInfo;
|
|
int index=mrw->OpenWave(Name);
|
|
if(index<0)continue;
|
|
mrw->GetWaveInfo(index,&cInfo);
|
|
m_pUI->tableWidgetNewCurve->setItem(row,0,new QTableWidgetItem(QString(QLatin1String(cInfo.Name))));
|
|
m_pUI->tableWidgetNewCurve->setItem(row,1,new QTableWidgetItem(QString::number(cInfo.StartDepth)));
|
|
m_pUI->tableWidgetNewCurve->setItem(row,2,new QTableWidgetItem(QString::number(cInfo.EndDepth)));
|
|
m_pUI->tableWidgetNewCurve->setItem(row,3,new QTableWidgetItem(QString::number(cInfo.DepLevel)));
|
|
m_pUI->tableWidgetNewCurve->setItem(row,4,new QTableWidgetItem(QString::number(cInfo.TimeSamples)));
|
|
if(IsExist(QString(QLatin1String(cInfo.Name))))
|
|
{
|
|
m_pUI->tableWidgetNewCurve->item(row,0)->setFlags(Qt::NoItemFlags);
|
|
m_pUI->tableWidgetNewCurve->item(row,0)->setCheckState(Qt::Unchecked);
|
|
}
|
|
else m_pUI->tableWidgetNewCurve->item(row,0)->setCheckState(Qt::Checked);
|
|
}
|
|
else continue;
|
|
row++;
|
|
}
|
|
delete mrw;
|
|
m_pUI->tableWidgetNewCurve->setRowCount(row);
|
|
}
|
|
END_OSGGRAPHICS_NAMESPACE
|