#pragma warning(push,0) // #include "Family.h" #include #include "AddCompCurveDlg.h" #include "ui_AddCompCurve.h" #include "CStringType.h" #include "GeometryUtils.h" #include #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;itableWidgetNewCurve->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;itableWidgetNewCurve->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;itableWidgetNewCurve->rowCount();i++)m_pUI->tableWidgetNewCurve->item(i,0)->setCheckState(Qt::Unchecked); } void CAddCompCurveDlg::slotReverseSel() { for(int i=0;itableWidgetNewCurve->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;iGetObjectStatus(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