From abe30478ed250d7cfe29505af4a2664fc304108d Mon Sep 17 00:00:00 2001 From: zhaolei <353719554@qq.com> Date: Wed, 4 Feb 2026 09:11:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86=E5=88=A0=E9=99=A4=E5=86=97?= =?UTF-8?q?=E4=BD=99=E4=BB=A3=E7=A0=81=E6=96=87=E4=BB=B6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WellLogUI/src/CurvePropertyEdit.cpp | 363 ------- WellLogUI/src/CurvePropertyEdit.h | 49 - WellLogUI/src/CurvePropertyEdit.ui | 525 ---------- WellLogUI/src/DrawCurveView.cpp | 1208 ----------------------- WellLogUI/src/DrawCurveView.h | 157 --- WellLogUI/src/ShowCurve.cpp | 555 ----------- WellLogUI/src/ShowCurve.h | 93 -- WellLogUI/src/ShowCurve.ui | 580 ----------- WellLogUI/src/WellLogTableDialogNew.cpp | 100 -- WellLogUI/src/WellLogUI.pro | 17 +- WellLogUI/src/deptlineedit.cpp | 67 -- WellLogUI/src/deptlineedit.h | 39 - WellLogUI/src/editEnd.cpp | 45 - WellLogUI/src/editEnd.h | 33 - WellLogUI/src/editEnd.ui | 184 ---- 15 files changed, 2 insertions(+), 4013 deletions(-) delete mode 100644 WellLogUI/src/CurvePropertyEdit.cpp delete mode 100644 WellLogUI/src/CurvePropertyEdit.h delete mode 100644 WellLogUI/src/CurvePropertyEdit.ui delete mode 100644 WellLogUI/src/DrawCurveView.cpp delete mode 100644 WellLogUI/src/DrawCurveView.h delete mode 100644 WellLogUI/src/ShowCurve.cpp delete mode 100644 WellLogUI/src/ShowCurve.h delete mode 100644 WellLogUI/src/ShowCurve.ui delete mode 100644 WellLogUI/src/deptlineedit.cpp delete mode 100644 WellLogUI/src/deptlineedit.h delete mode 100644 WellLogUI/src/editEnd.cpp delete mode 100644 WellLogUI/src/editEnd.h delete mode 100644 WellLogUI/src/editEnd.ui diff --git a/WellLogUI/src/CurvePropertyEdit.cpp b/WellLogUI/src/CurvePropertyEdit.cpp deleted file mode 100644 index 04d3ecd..0000000 --- a/WellLogUI/src/CurvePropertyEdit.cpp +++ /dev/null @@ -1,363 +0,0 @@ -#pragma warning(push,0) -//#include "Family.h" -#include -#include -#include -//#include "ObjectEvent.h" -#include "CurvePropertyEdit.h" -#include "ui_CurvePropertyEdit.h" -#include "CStringType.h" -#include "LogIO.h" -//#include "ObjProject.h" -#include "ui_CurvePropertyEdit.h" -#pragma warning(pop) -extern char *DataTypea[]; -extern int DataLengtha[]; - -CCurvePropertyEditDlg::CCurvePropertyEditDlg(QWidget * parent, Qt::WindowFlags flags) - : QWidget(parent,flags) -{ - m_pUI = new Ui::CurvePropertyEdit(); - m_pUI->setupUi(this); - int w=width(); - int h=height(); - if(NULL != parent) - { - parent->setFixedSize(w,h); - } - - QObject::connect(m_pUI->okbtn, SIGNAL(clicked()), this, SLOT(slotSave())); - QObject::connect(m_pUI->cancelbtn, SIGNAL(clicked()), this, SLOT(slotCancel())); - tab1=m_pUI->PropertyTab->widget(0); - tab2=m_pUI->PropertyTab->widget(1); - m_pUI->PropertyTab->setCurrentIndex(0); - m_pUI->cancelbtn->hide(); - /* QObjectList ctls=tab1->children(); - QLineEdit* liedit=tab1->findChild("lineEdit_CurveName"); - liedit->setText("11"); - //foreach (QObject* ctl,ctls) - //{ - // if (ctl->objectName()=="lineEdit_CurveName") - // { - // QLineEdit* liedit= (QLineEdit*)(ctl); - // liedit->setText("11"); - - // } - //} - QObjectList ctls2=tab2->children(); - foreach (QObject* ctl,ctls2) - { - if (ctl->objectName()=="lineEdit2_ArrayNum") - { - QLineEdit* liedit= (QLineEdit*)(ctl); - liedit->setText("444"); - - } - }*/ -} -void CCurvePropertyEditDlg::init() -{ - - //初始化 - CLogIO logio(FileName.toStdString().c_str(),(unsigned int)CLogIO::modeReadWrite); - if(!logio.mFile) return ; - int c=12; - QString str; - for(int i=0;iPropertyTab->setTabEnabled(1,0); - m_pUI->PropertyTab->setStyleSheet("QTabBar::tab:disabled {width: 0; color: transparent;}"); - Slf_CURVE info; - int index=logio.OpenCurve(CurveName.toStdString().c_str()); - if(index<0) return; - logio.GetCurveInfo(index,&info); - logio.CloseCurve(index); - QLineEdit *lineEdit_CurveName=tab1->findChild("lineEdit_CurveName"); - QLineEdit *lineEdit_CurveName_2=tab1->findChild("lineEdit_CurveName_2"); - QLineEdit *lineEdit_CurveUnit=tab1->findChild("lineEdit_CurveUnit"); - QLineEdit *lineEdit_CurveUnit_2=tab1->findChild("lineEdit_CurveUnit_2"); - QLineEdit *lineEdit_DepthUnit=tab1->findChild("lineEdit_DepthUnit"); - QLineEdit *lineEdit_DepthUnit_2=tab1->findChild("lineEdit_DepthUnit_2"); - QLineEdit *lineEdit_Sdep=tab1->findChild("lineEdit_Sdep"); - QLineEdit *lineEdit_Edep=tab1->findChild("lineEdit_Edep"); - QLineEdit *lineEdit_Rlev=tab1->findChild("lineEdit_Rlev"); - QLineEdit *lineEdit_DataType=tab1->findChild("lineEdit_DataType"); - QLineEdit *lineEdit_Min=tab1->findChild("lineEdit_Min"); - QLineEdit *lineEdit_Max=tab1->findChild("lineEdit_Max"); - QLineEdit *lineEdit_DefVal=tab1->findChild("lineEdit_DefVal"); - lineEdit_CurveName->setText((QLatin1String(info.Name))); - QRegExp regExp("[A-Z0-9]{0,100}");//正则表达式,第一位数字为a-z的数字,第二位为1-9的数字,后边是0-2位0-9的数字 - lineEdit_CurveName->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_CurveName_2->setText(QString::fromLocal8Bit(info.AliasName)); - lineEdit_CurveName_2->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_CurveUnit->setText(QLatin1String(info.Unit)); - lineEdit_CurveUnit->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_CurveUnit_2->setText(QString::fromLocal8Bit(info.AliasUnit));//(QLatin1String(info.AliasUnit)); - lineEdit_CurveUnit_2->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_DepthUnit->setText(QLatin1String(info.DepthUnit)); - lineEdit_DepthUnit->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_DepthUnit_2->setText(QString::fromLocal8Bit(info.DepthHZUnit)); - lineEdit_DepthUnit_2->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_Sdep->setText(QString("%1").arg(info.StartDepth)); - lineEdit_Sdep->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - lineEdit_Edep->setText(QString("%1").arg(info.EndDepth)); - lineEdit_Edep->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - lineEdit_Rlev->setText(QString("%1").arg(info.DepLevel)); - lineEdit_Rlev->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - regExp=QRegExp(str); - lineEdit_DataType->setText(QLatin1String(Rep_STR[info.RepCode-1])); - lineEdit_Sdep->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_Min->setText(QString("%1").arg(info.MinValue)); - lineEdit_Min->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - lineEdit_Max->setText(QString("%1").arg(info.MaxValue)); - lineEdit_Max->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - lineEdit_DefVal->setText(QString("%1").arg(info.DefVal)); - lineEdit_DefVal->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - } - else - { - int index=logio.OpenWave(CurveName.toStdString().c_str()); - if(index<0) return; - Slf_WAVE info; - logio.GetWaveInfo(index,&info); - logio.CloseWave(index); - if(info.RepCode>12) return; - QLineEdit *lineEdit_CurveName=tab1->findChild("lineEdit_CurveName"); - QLineEdit *lineEdit_CurveName_2=tab1->findChild("lineEdit_CurveName_2"); - QLineEdit *lineEdit_CurveUnit=tab1->findChild("lineEdit_CurveUnit"); - QLineEdit *lineEdit_CurveUnit_2=tab1->findChild("lineEdit_CurveUnit_2"); - QLineEdit *lineEdit_DepthUnit=tab1->findChild("lineEdit_DepthUnit"); - QLineEdit *lineEdit_DepthUnit_2=tab1->findChild("lineEdit_DepthUnit_2"); - QLineEdit *lineEdit_Sdep=tab1->findChild("lineEdit_Sdep"); - QLineEdit *lineEdit_Edep=tab1->findChild("lineEdit_Edep"); - QLineEdit *lineEdit_Rlev=tab1->findChild("lineEdit_Rlev"); - QLineEdit *lineEdit_DataType=tab1->findChild("lineEdit_DataType"); - QLineEdit *lineEdit_Min=tab1->findChild("lineEdit_Min"); - QLineEdit *lineEdit_Max=tab1->findChild("lineEdit_Max"); - QLineEdit *lineEdit_DefVal=tab1->findChild("lineEdit_DefVal"); - lineEdit_CurveName->setText((QLatin1String(info.Name))); - lineEdit_CurveName->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_CurveName_2->setText(QString::fromLocal8Bit(info.AliasName)); - lineEdit_CurveName_2->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_CurveUnit->setText(QLatin1String(info.Unit)); - lineEdit_CurveUnit->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_CurveUnit_2->setText(QString::fromLocal8Bit(info.AliasUnit)); - lineEdit_CurveUnit_2->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_DepthUnit->setText(QLatin1String(info.DepthUnit)); - lineEdit_DepthUnit->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_DepthUnit_2->setText(QString::fromLocal8Bit(info.DepthHZUnit)); - lineEdit_DepthUnit_2->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_Sdep->setText(QString("%1").arg(info.StartDepth)); - lineEdit_Sdep->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - lineEdit_Edep->setText(QString("%1").arg(info.EndDepth)); - lineEdit_Edep->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - lineEdit_Rlev->setText(QString("%1").arg(info.DepLevel)); - lineEdit_Rlev->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - regExp=QRegExp(str); - lineEdit_DataType->setText(QLatin1String(Rep_STR[info.RepCode-1])); - lineEdit_Min->setText(QString("%1").arg(info.MinValue)); - lineEdit_Min->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - lineEdit_Max->setText(QString("%1").arg(info.MaxValue)); - lineEdit_Max->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - lineEdit_DefVal->setText(QString("%1").arg(info.DefVal)); - lineEdit_DefVal->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - - QLineEdit *lineEdit2_Name=tab2->findChild("lineEdit2_Name"); - QLineEdit *lineEdit2_Name1=tab2->findChild("lineEdit2_Name1"); - QLineEdit *lineEdit2_Unit=tab2->findChild("lineEdit2_Unit"); - QLineEdit *lineEdit2_Unit1=tab2->findChild("lineEdit2_Unit1"); - QLineEdit *lineEdit2_Start=tab2->findChild("lineEdit2_Start"); - QLineEdit *lineEdit2_Rlev2=tab2->findChild("lineEdit2_Rlev2"); - QLineEdit *lineEdit2_ArrayNum=tab2->findChild("lineEdit2_ArrayNum"); - QLineEdit *lineEdit2_Sample=tab2->findChild("lineEdit2_Sample"); - QLineEdit *lineEdit2_SampleTotal=tab2->findChild("lineEdit2_SampleTotal"); - QComboBox *comboBox2_Type=tab2->findChild("comboBox2_Type"); - comboBox2_Type->addItem(QString::fromLocal8Bit("线性刻度")); - comboBox2_Type->addItem(QString::fromLocal8Bit("对数刻度")); - comboBox2_Type->addItem(QString::fromLocal8Bit("指数刻度")); - comboBox2_Type->setCurrentIndex(0); - QObject::connect(lineEdit2_ArrayNum, SIGNAL(textChanged(const QString &)), this, SLOT(sampleChanged(const QString &))); - QObject::connect(lineEdit2_Sample, SIGNAL(textChanged(const QString &)), this, SLOT(arrayChanged(const QString &))); - QRegExp regExp("[A-Za-z0-9]{0,100}");//正则表达式,第一位数字为a-z的数字,第二位为1-9的数字,后边是0-2位0-9的数字 - lineEdit2_Name->setText(QLatin1String(info.TimeName)); - lineEdit2_Name->setValidator(new QRegExpValidator(regExp,this)); - lineEdit2_Name1->setText(QString::fromLocal8Bit(info.TimeHZName)); - lineEdit2_Name1->setValidator(new QRegExpValidator(regExp,this)); - lineEdit2_Unit->setText(QLatin1String(info.TimeUnit)); - lineEdit2_Unit->setValidator(new QRegExpValidator(regExp,this)); - lineEdit2_Unit1->setText(QString::fromLocal8Bit(info.TimeHZUnit)); - lineEdit2_Unit1->setValidator(new QRegExpValidator(regExp,this)); - - lineEdit2_Start->setText(QString("%1").arg(info.StartTime)); - lineEdit2_Start->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - lineEdit2_Rlev2->setText(QString("%1").arg(info.TimeLevel)); - lineEdit2_Rlev2->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - lineEdit2_ArrayNum->setText(QString("%1").arg(info.ArrayNum)); - lineEdit2_ArrayNum->setValidator(new QIntValidator(0,9999999,this)); - lineEdit2_Sample->setText(QString("%1").arg(info.TimeSamples)); - lineEdit2_Sample->setValidator(new QIntValidator(0,9999999,this)); - lineEdit2_SampleTotal->setText(QString("%1").arg(info.TimeSamples)); - lineEdit2_SampleTotal->setValidator(new QIntValidator(0,99999999,this)); - } - logio.Close(); -} -void CCurvePropertyEditDlg::sampleChanged(const QString &str) -{ - QLineEdit *lineEdit2_Sample=tab2->findChild("lineEdit2_Sample"); - QLineEdit *lineEdit2_SampleTotal=tab2->findChild("lineEdit2_SampleTotal"); - - int TotalSample=lineEdit2_SampleTotal->text().toInt(); - int mSample=lineEdit2_Sample->text().toInt(); - if(TotalSample==0)return; - int arrayNum=str.toInt(); - int sample=TotalSample; - if(sample!=TotalSample) - { - QMessageBox::warning(NULL,"提示","阵列数不是总元素个数的公约数,请重新输入"); - QLineEdit *lineEdit2_ArrayNum=tab2->findChild("lineEdit2_ArrayNum"); - lineEdit2_ArrayNum->setText(QString::number(TotalSample/mSample)); - } - else lineEdit2_Sample->setText(QString::number(sample)); -} -void CCurvePropertyEditDlg::arrayChanged(const QString &str) -{ - QLineEdit *lineEdit2_ArrayNum=tab2->findChild("lineEdit2_ArrayNum"); - QLineEdit *lineEdit2_SampleTotal=tab2->findChild("lineEdit2_SampleTotal"); - - int TotalSample=lineEdit2_SampleTotal->text().toInt(); - int mArrayNum=lineEdit2_ArrayNum->text().toInt(); - if(TotalSample==0)return; - int sample=str.toInt(); - int arrayNum=TotalSample/sample; - if(arrayNum*sample!=TotalSample) - { - QMessageBox::warning(this,"提示","您所输入的元素个数不是总元素个数的公约数,请重新输入"); - QLineEdit *lineEdit2_Sample=tab2->findChild("lineEdit2_Sample"); - lineEdit2_Sample->setText(QString::number(TotalSample/mArrayNum)); - } - else lineEdit2_ArrayNum->setText(QString::number(arrayNum)); -} -void CCurvePropertyEditDlg::slotSave() -{ - QLineEdit *lineEdit_CurveName=tab1->findChild("lineEdit_CurveName"); - QString Name=lineEdit_CurveName->text(); - CLogIO logio(FileName.toStdString().c_str(),(unsigned int)CLogIO::modeReadWrite); - if(Name!=CurveName) - { - if(logio.FindObjectIndex(Name.toStdString().c_str())>=0) - { - QMessageBox::warning(this,"警告!","名称不能重复!"); - return; - } - } - Slf_FILE_MESSAGE ms; - logio.GetFileMessage(ms); - if(Type==0) - { - Slf_CURVE info; - int index=logio.OpenCurve(CurveName.toStdString().c_str()); - if(index<0) { - return; - } - logio.GetCurveInfo(index,&info); - QLineEdit *lineEdit_CurveName=tab1->findChild("lineEdit_CurveName"); - QLineEdit *lineEdit_CurveName_2=tab1->findChild("lineEdit_CurveName_2"); - QLineEdit *lineEdit_CurveUnit=tab1->findChild("lineEdit_CurveUnit"); - QLineEdit *lineEdit_CurveUnit_2=tab1->findChild("lineEdit_CurveUnit_2"); - QLineEdit *lineEdit_DepthUnit=tab1->findChild("lineEdit_DepthUnit"); - QLineEdit *lineEdit_DepthUnit_2=tab1->findChild("lineEdit_DepthUnit_2"); - - QLineEdit *lineEdit_DefVal=tab1->findChild("lineEdit_DefVal"); - strcpy(info.Name,lineEdit_CurveName->text().toStdString().c_str()); - strcpy(info.AliasName,lineEdit_CurveName_2->text().toStdString().c_str()); - //汉字写回去不对了呀?????? - strcpy(info.Unit,lineEdit_CurveUnit->text().toStdString().c_str()); - strcpy(info.AliasUnit,lineEdit_CurveUnit_2->text().toStdString().c_str()); - strcpy(info.DepthUnit,lineEdit_DepthUnit->text().toStdString().c_str()); - strcpy(info.DepthHZUnit,lineEdit_DepthUnit_2->text().toStdString().c_str()); - info.DefVal=lineEdit_DefVal->text().toFloat(); - logio.SetCurveInfo(index,&info); - logio.CloseCurve(index); - } - else - { - int index=logio.OpenWave(CurveName.toStdString().c_str()); - if(index<0) return; - Slf_WAVE info; - logio.GetWaveInfo(index,&info); - - QLineEdit *lineEdit_CurveName=tab1->findChild("lineEdit_CurveName"); - QLineEdit *lineEdit_CurveName_2=tab1->findChild("lineEdit_CurveName_2"); - QLineEdit *lineEdit_CurveUnit=tab1->findChild("lineEdit_CurveUnit"); - QLineEdit *lineEdit_CurveUnit_2=tab1->findChild("lineEdit_CurveUnit_2"); - QLineEdit *lineEdit_DepthUnit=tab1->findChild("lineEdit_DepthUnit"); - QLineEdit *lineEdit_DepthUnit_2=tab1->findChild("lineEdit_DepthUnit_2"); - - QLineEdit *lineEdit_DefVal=tab1->findChild("lineEdit_DefVal"); - strcpy(info.Name,lineEdit_CurveName->text().toStdString().c_str()); - strcpy(info.AliasName,lineEdit_CurveName_2->text().toStdString().c_str()); - strcpy(info.Unit,lineEdit_CurveUnit->text().toStdString().c_str()); - strcpy(info.AliasUnit,lineEdit_CurveUnit_2->text().toStdString().c_str()); - strcpy(info.DepthUnit,lineEdit_DepthUnit->text().toStdString().c_str()); - strcpy(info.DepthHZUnit,lineEdit_DepthUnit_2->text().toStdString().c_str()); - info.DefVal=lineEdit_DefVal->text().toFloat(); - - QLineEdit *lineEdit2_Name=tab2->findChild("lineEdit2_Name"); - QLineEdit *lineEdit2_Name1=tab2->findChild("lineEdit2_Name1"); - QLineEdit *lineEdit2_Unit=tab2->findChild("lineEdit2_Unit"); - QLineEdit *lineEdit2_Unit1=tab2->findChild("lineEdit2_Unit1"); - QLineEdit *lineEdit2_Start=tab2->findChild("lineEdit2_Start"); - QLineEdit *lineEdit2_Rlev2=tab2->findChild("lineEdit2_Rlev2"); - QLineEdit *lineEdit2_ArrayNum=tab2->findChild("lineEdit2_ArrayNum"); - QLineEdit *lineEdit2_Sample=tab2->findChild("lineEdit2_Sample"); - QLineEdit *lineEdit2_SampleTotal=tab2->findChild("lineEdit2_SampleTotal"); - QComboBox *comboBox2_Type=tab2->findChild("comboBox2_Type"); - - strcpy(info.TimeName,lineEdit2_Name->text().toStdString().c_str()); - strcpy(info.TimeHZName,lineEdit2_Name1->text().toStdString().c_str()); - strcpy(info.TimeUnit,lineEdit2_Unit->text().toStdString().c_str()); - strcpy(info.TimeHZUnit,lineEdit2_Unit1->text().toStdString().c_str()); - info.StartTime=lineEdit2_Start->text().toFloat(); - info.TimeLevel=lineEdit2_Rlev2->text().toFloat(); - info.ArrayNum=lineEdit2_ArrayNum->text().toInt(); - info.TimeSamples=lineEdit2_Sample->text().toInt(); - logio.SetWaveInfo(index,&info); - logio.CloseWave(index); - } - logio.Close(); - //GetObjectEvent().OnDeAttchData(FileName,CurveName); - //GetObjectEvent().OnRefreshData(FileName,CurveName); - if(Name!=CurveName) - { - QStringList NodeNames; - NodeNames.push_back(ms.WellName); - NodeNames.push_back(FileName); - NodeNames.push_back(CurveName); - NodeNames.push_back(Name); - //PaiObject::m_EventAgent.ObjectPropertyChanged(GetProject(),"CurvePropertyEdit",NodeNames); - } - QMessageBox::information(this,"提示","保存成功!"); - //accept(); -} -/** -*@brief 取消槽函数 -*/ -void CCurvePropertyEditDlg::slotCancel() -{ - //reject (); -} - -void CCurvePropertyEditDlg::closeEvent(QCloseEvent *) -{ - emit signalsCloseed(); - //throw std::logic_error("The method or operation is not implemented."); -} - diff --git a/WellLogUI/src/CurvePropertyEdit.h b/WellLogUI/src/CurvePropertyEdit.h deleted file mode 100644 index a4c6fe7..0000000 --- a/WellLogUI/src/CurvePropertyEdit.h +++ /dev/null @@ -1,49 +0,0 @@ - -#pragma warning(push,0) -#include -#include -#include -//#include "ConsoleOutputWidget.h" -#pragma warning(pop) - -namespace Ui { -class CurvePropertyEdit; -} - -/** - * @brief 表格选择列自定义委托 - */ -class CCurvePropertyEditDlg : public QWidget -{ - Q_OBJECT -public: - CCurvePropertyEditDlg(QWidget * parent=0, Qt::WindowFlags flags=0); - ~CCurvePropertyEditDlg() - { - if(m_pUI) delete m_pUI; - } - Ui::CurvePropertyEdit *m_pUI; - void init(); -signals: - void signalsCloseed(); -private slots: - /** - *@brief 保存槽函数 - */ - void slotSave(); - - /** - *@brief 取消槽函数*/ - void slotCancel(); - void sampleChanged(const QString &); - void arrayChanged(const QString &); - - virtual void closeEvent(QCloseEvent *); - -public: - QString FileName;//slf文件名 - QString CurveName;//曲线名 - int Type;//曲线类型,0-曲线,1-波列 - QWidget* tab1; - QWidget* tab2; -}; diff --git a/WellLogUI/src/CurvePropertyEdit.ui b/WellLogUI/src/CurvePropertyEdit.ui deleted file mode 100644 index a8b2af9..0000000 --- a/WellLogUI/src/CurvePropertyEdit.ui +++ /dev/null @@ -1,525 +0,0 @@ - - - CurvePropertyEdit - - - - 0 - 0 - 665 - 575 - - - - 曲线属性显示与编辑 - - - - - - - - - 0 - 30 - - - - 0 - - - - 曲线属性 - - - - - - 曲线名 - - - - - - - - 0 - 30 - - - - - - - - 曲线别名 - - - - - - - - 0 - 30 - - - - - - - - 曲线单位 - - - - - - - - 0 - 30 - - - - - - - - 曲线别单位 - - - - - - - - 0 - 30 - - - - - - - - 深度单位 - - - - - - - - 0 - 30 - - - - - - - - 深度单位别名 - - - - - - - - 0 - 30 - - - - - - - - 起始深度 - - - - - - - false - - - - 0 - 30 - - - - - - - - 终止深度 - - - - - - - false - - - - 0 - 30 - - - - - - - - 采样间隔 - - - - - - - false - - - - 0 - 30 - - - - - - - - 数据类型 - - - - - - - false - - - - 0 - 30 - - - - - - - - 最小值 - - - - - - - false - - - - 0 - 30 - - - - - - - - 最大值 - - - - - - - false - - - - 0 - 30 - - - - - - - - 缺省值 - - - - - - - - 0 - 30 - - - - - - - - - 波列属性 - - - - - - 名称 - - - - - - - - 0 - 30 - - - - - - - - 别名 - - - - - - - - 0 - 30 - - - - - - - - 单位 - - - - - - - - 0 - 30 - - - - - - - - 单位别名 - - - - - - - - 0 - 30 - - - - - - - - 起始值 - - - - - - - - 0 - 30 - - - - - - - - 增量 - - - - - - - - 0 - 30 - - - - - - - - 阵列数 - - - - - - - - 0 - 30 - - - - - - - - 刻度类型 - - - - - - - - 0 - 30 - - - - - - - - 元素个数 - - - - - - - - 0 - 30 - - - - - - - - 总元素个数 - - - - - - - false - - - - 0 - 30 - - - - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - 保存 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - 退出 - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - diff --git a/WellLogUI/src/DrawCurveView.cpp b/WellLogUI/src/DrawCurveView.cpp deleted file mode 100644 index 17b3aba..0000000 --- a/WellLogUI/src/DrawCurveView.cpp +++ /dev/null @@ -1,1208 +0,0 @@ -#include "DrawCurveView.h" -#include -#include -#include -#include -#include -#include -#include -#include "ShowCurve.h" -#include "editEnd.h" -#include "SmoothTool.h" -#include "AngleAdjTool.h" -#include "WellLogTableDialogNew.h" -//#include "math.h" -#define _USE_MATH_DEFINES // 必须放在包含头文件之前 -#include // 或 #include - - -DrawCurveView::DrawCurveView(QWidget *parent) : - QWidget(parent), - isInit(false), - mouseDrawDepth(0), - mouseDrawValue(0), - tishiEditTime(0), - frontPos(QPoint(0,0)) -{ - press_noRelease_mode = false; - - m_values=NULL; - CurrentPos=0; - setMouseTracking(true); - pressPoint = -9999; - releasePoint = -9999; - pressEdit = -9999; - releaseEdit = -9999; - EditMode = false; - editLock = false; - ifContinue = false; - hasSelect = false; - sTool = new SmoothTool(); - angTool = new AngleAdjTool(); - msgBox2 = new editEnd(); - connect(msgBox2, SIGNAL(sendSmData(int)), this, SLOT(saveSmooth_SLOT(int))); - connect(msgBox2, SIGNAL(sendContinueSignal()), this, SLOT(continueEditNoSave_SLOT())); - connect(sTool, SIGNAL(sendDataSmoothSign(float,float,int,int,int)), this, SLOT(receiveSmoothData(float,float,int,int,int))); - connect(sTool, SIGNAL(cancelSmooth()), this, SLOT(cancelSmoothEdit())); - connect(sTool, SIGNAL(SaveSmooth()), this, SLOT(overEditSave())); - - connect(angTool, SIGNAL(sendAngleData(float,float,float,float,float)), this, SLOT(receiveAngleData(float,float,float,float,float))); - connect(angTool, SIGNAL(cancelAngle()), this, SLOT(cancelAngleEdit())); -} - -DrawCurveView::~DrawCurveView(){ - if(EditMode && editIndexNum!=0){ - delete []editIndex; - delete []editValue; - //delete []onceEditIndex; - } - delete sTool; - delete angTool; - delete msgBox2; -} - -void DrawCurveView::initCurveViewQMenu(){ - QMenu menu; - //添加菜单项,指定图标、名称、响应函数 - menu.addAction(QString("曲线绘制"),this,SLOT(editIfBegin_Slot())); - menu.addAction(QString("平滑处理"),this,SLOT(smoothWin_Slot())); - menu.addAction(QString("基线校正"),this,SLOT(AngAdjWin_SLOT())); - menu.exec(QCursor::pos()); -} -void DrawCurveView::initCurveEditQMenu(){ - QMenu menu; - //添加菜单项,指定图标、名称、响应函数 - menu.addAction(QString("完成编辑"),this,SLOT(finishEdit_SLOT())); - menu.exec(QCursor::pos()); -} - -int DrawCurveView::calMousePoint() -{ - return lastPos.y() / m_height * PageSize + 0.5 + CurrentPos; -} - -void DrawCurveView::mousePressEvent(QMouseEvent *event){ - lastPos = event->pos(); - - if(rlev == 0 || m_height == 0)return; - - int tempPoint = calMousePoint(); - - // 处于编辑状态 - if (event->buttons() & Qt::LeftButton && EditMode && !editLock) - { - //editStrValue = (tempPoint < pressEdit) ? pressEdit + 1 : tempPoint; - //editStrValue = (tempPoint > releaseEdit) ? releaseEdit : tempPoint; - if(tempPoint < pressEdit) - editStrValue = pressEdit; - else if(tempPoint > releaseEdit) - editStrValue = releaseEdit; - else - editStrValue = tempPoint; - - lastEditPos = editStrValue; - onceEditNum = 0; - - genEditLine(); - update(); - } - - if (event->buttons() & Qt::RightButton){ - if(!EditMode && tempPoint < releasePoint && tempPoint > pressPoint ) initCurveViewQMenu(); - - else if(EditMode/* && tempPointpressEdit*/) initCurveEditQMenu(); - - return; - } - - if(EditMode){ - if(tempPoint > releaseEdit || tempPoint < pressEdit) - emit editModeTips(); - return; - } - - if(pressPoint != -9999){ - if(pressPoint < tempPoint && tempPoint < releasePoint && !EditMode){ - editIfBegin(); - } - pressPoint = -9999; - - emit unableEditButtons(); - - update(); - return; - } - else{ - pressPoint = tempPoint; - - press_noRelease_mode = true; - press_noRelease_point = tempPoint; - - update(); - return; - } -} - -void DrawCurveView::mouseReleaseEvent(QMouseEvent *event){ - if (event->button() != Qt::LeftButton){ - return; - } - if(EditMode){ - editStrValue = -9999;; - onceEditNum = 0; - - return; - } - if(releasePoint != -9999 && hasSelect){ - releasePoint = -9999; - hasSelect = false; - update(); - return; - } - - if(rlev == 0 || m_height == 0)return; - - - if(press_noRelease_mode){ - //计算释放位置 - QPoint Pos = event->pos(); - float curSdep = CurrentPos*rlev + sdep; - float mouseDepth = Pos.y() * PageSize / m_height * rlev + curSdep; - if(mouseDepth > edep) mouseDepth = edep; - releasePoint = (mouseDepth - curSdep) / rlev + 0.5 + CurrentPos; - if(pressPoint > releasePoint){ - int temp = releasePoint; releasePoint = pressPoint; pressPoint = temp; - } - - if(releasePoint - pressPoint > 1){ - emit enableEditButtons(); - hasSelect = true; - } - else{ - emit R2L(); - releasePoint = -9999; - pressPoint = -9999; - } - - press_noRelease_mode = false; - } - - update(); -} - -void DrawCurveView::mouseMoveEvent(QMouseEvent *event){ - lastPos = event->pos(); - - if (event->buttons() & Qt::LeftButton && EditMode && !editLock) - genEditLine(); - - if(rlev == 0 || m_height == 0) return; - - - //更新鼠标位置曲线信息显示 - float mouseDepth, mouseValue; - ShowCurve* fParent= (ShowCurve *)(this->parent()->parent()); - float curSdep = CurrentPos * rlev + sdep; - mouseDepth = lastPos.y() * PageSize / m_height * rlev + curSdep; - int itemp = (mouseDepth-curSdep) / rlev + 0.5 + CurrentPos; - - //没有完成框选情况下,实时更新鼠标的可能释放位置 - if(press_noRelease_mode){ - press_noRelease_point = itemp; - if(press_noRelease_point < pressPoint){ - int t = pressPoint; - pressPoint = press_noRelease_point; - press_noRelease_point = t; - } - } - - - if(itemp >= m_count) mouseValue=-99999.; - else mouseValue= m_values[itemp]; - fParent->mouseMkChange(mouseDepth, mouseValue); - mouseDrawDepth = mouseDepth; - mouseDrawValue = mouseValue; - - - update(); - -} - -void DrawCurveView::wheelEvent(QWheelEvent *event) // 滚轮事件 -{ - if(event->delta() > 0){ - emit verticalSliderUP(); - }else{ - emit verticalSliderDOWN(); - } -} - -void DrawCurveView::usevalueDrawPoint(QPainter *painter){ - if(rlev == 0 || m_height == 0) return; - - /* - float mouseDepth, mouseValue; - - float curSdep = CurrentPos * rlev + sdep; - mouseDepth = lastPos.y() * PageSize / m_height * rlev + curSdep; - int itemp = (mouseDepth-curSdep) / rlev + 0.5; - if(itemp + CurrentPos >= m_count) - mouseValue = -99999.; - else - mouseValue = m_values[itemp + CurrentPos]; - */ - - //mouse position - float x = lastPos.x()/*(mouseValue-m_Xmin)/(m_Xmax-m_Xmin)*m_width*/; - float y = lastPos.y()/*(float)(m_height * itemp / PageSize)*/; - - int wTemp = 4; - float hTemp = 15; - float min_hTemp = 2; - float jTemp = 6; - float reduce_rate = 0.6; - int forceP_index = x / jTemp; - float guanRate = (lastPos.x() - frontPos.x()) / m_width; - - for(int i = 0; i < m_width / jTemp; i++) - { - float draw_reduce_rate = reduce_rate; - float draw_hTemp = hTemp; - //float guanRateTemp = guanRate; - - int cha = forceP_index - i; - //bool isGuanSide = (cha * guanRateTemp > 0) ? true : false; - cha = (cha < 0) ? -cha : cha; - //guanRateTemp = (guanRateTemp < 0) ? -guanRateTemp : guanRateTemp; - - for(int chaN = 0; chaN < cha; chaN++) - { - draw_reduce_rate /= 0.9; - if(draw_reduce_rate >= 1 || draw_reduce_rate < 0) break; - - draw_hTemp *= draw_reduce_rate; - if(draw_hTemp <= min_hTemp) - { - draw_hTemp = min_hTemp; - break; - } - } - painter->fillRect(jTemp * i - wTemp / 2, m_height - draw_hTemp, wTemp, hTemp, QColor(128, 128, 255, 128)); - } - - forceP_index = y / jTemp; - for(int i = 0; i < m_height / jTemp; i++) - { - float draw_reduce_rate = reduce_rate; - float draw_hTemp = hTemp; - - int cha = forceP_index - i; - cha = (cha < 0) ? -cha : cha; - - for(int chaN = 0; chaN < cha; chaN++) - { - draw_reduce_rate /= 0.9; - if(draw_reduce_rate >= 1 || draw_reduce_rate < 0) break; - - draw_hTemp *= draw_reduce_rate; - if(draw_hTemp <= min_hTemp) - { - draw_hTemp = min_hTemp; - break; - } - } - painter->fillRect(m_width - draw_hTemp, jTemp * i - wTemp / 2, hTemp, wTemp, QColor(128, 128, 255, 128)); - } - - frontPos = lastPos; - - //横轴数值显示 - QFont UVDP_fontGray2("Arial", 8, QFont::Bold, false); - UVDP_fontGray2.setBold(false); - painter->setFont(UVDP_fontGray2); - painter->setPen(Qt::blue); - painter->drawText(x, m_height - hTemp - 14, QString(" value")); - painter->drawText(x, m_height - hTemp + 2, QString(" %1").arg((m_Xmax - m_Xmin) / m_width * lastPos.x() + m_Xmin)); - //纵轴数值显示 - painter->drawText(m_width - hTemp - 45, y + 12, QString(" depth")); - painter->drawText(m_width - hTemp - 45, y + 28, QString(" ") + QString::number(mouseDrawDepth, 'f', 2)); - - /* - QFont UVDP_fontGray("Arial", 8, QFont::Bold, false); - UVDP_fontGray.setBold(false); - painter->setFont(UVDP_fontGray); - painter->setPen(Qt::gray); - painter->drawText(m_width - 60, y + 13, QString("%1").arg(mouseDrawValue)); - painter->drawText(m_width - 60, y - 5, QString("%1").arg(mouseDrawDepth)); - */ -} - -void DrawCurveView::drawMousePosLine(QPainter *painter){ - - QPen pen(Qt::gray, 2, Qt::DashLine, Qt::RoundCap, Qt::RoundJoin); - painter->setPen(pen); - - float w = width() - 65; - if(w < 0) w = 0; - - //绘制横向线 - //painter->drawLine(0, lastPos.y(), w, lastPos.y()); - //绘制纵向线 - //painter->drawLine(lastPos.x(), 0, lastPos.x(), height()); -} - -void DrawCurveView::button_AngAdjWin() -{ - if(!EditMode && releasePoint != -9999 && pressPoint != -9999 ) - AngAdjWin(); -} -void DrawCurveView::AngAdjWin_SLOT() -{ - AngAdjWin(); -} -void DrawCurveView::AngAdjWin(){ - angTool->setSliderRange(int(m_width)); - angTool->setAngDep(sdep,edep,pressPoint * rlev + sdep, releasePoint * rlev + sdep); - angTool->setEachSetValue(1 / m_width * (m_Xmax-m_Xmin)); - float *temp = new float[releasePoint - pressPoint + 1]; - for(int i = 0; i < releasePoint - pressPoint + 1; i++) - temp[i] = m_values[i+pressPoint]; - int maxN = (edep - sdep) / rlev; - int N = releasePoint - pressPoint + 1; - if(N>maxN) N = maxN; - angTool->calcuCurAve(temp, N); - angTool->setLineEditable(); - angTool->show(); -} - -void DrawCurveView::receiveAngleData(float sd, float ed, float headOffset, float tailOffset, float angle) -{ - if(!EditMode){ - whichMode = 2; - EditMode = true; - float curSdep = CurrentPos * rlev + sdep; - pressEdit = (sd - curSdep) / rlev + 0.5 + CurrentPos; - releaseEdit = (ed - curSdep) / rlev + 0.5 + CurrentPos; - pressPoint = -9999; - releasePoint = -9999; - hasSelect = false; - initEditPart(); - } - else{ - oriCur2Edit(); - editValue[releaseEdit - pressEdit] = m_values[releaseEdit]; - } - - float eachValue = (1 / m_width * (m_Xmax-m_Xmin)) * headOffset; - for(int i = 0; i < releaseEdit-pressEdit+1; i++){ - editValue[i] += eachValue; - - float offsetValue; - offsetValue = (i*rlev) * tan(angle*M_PI/180.0f); - editValue[i] += offsetValue; - - } - angTool->calcuCurAve(editValue, releaseEdit - pressEdit + 1); - - initeditIndex(); - update(); -} - -void DrawCurveView::cancelAngleEdit(){ - if(EditMode != true) return; - - for(int i = pressEdit; i < releaseEdit; i++) - editValue[i - pressEdit] = m_values[i]; - editValue[releaseEdit - pressEdit] = m_values[releaseEdit]; -} -void DrawCurveView::smoothWin() -{ - sTool->setSmoothDep(sdep,edep,pressPoint * rlev + sdep, releasePoint * rlev + sdep); - - sTool->setLineEditable(); - - sTool->show(); -} -void DrawCurveView::button_smoothWin() -{ - if(!EditMode && releasePoint != -9999 && pressPoint != -9999 ) - smoothWin(); -} -void DrawCurveView::smoothWin_Slot() -{ - smoothWin(); -} - -void linearSmooth3( float in[], float out[], int N, float rate[], int count){ - float *temp = new float[N]; - for(int j = 0; j < N; j++) - temp[j] = in[j]; - - for(int c = 0; c < count; c++){ - int i; - if ( N < 3 ){ - for ( i = 0; i <= N - 1; i++ ) - out[i] = temp[i]; - } - else{ - out[0] = ( 5.0 * temp[0] + 2.0 * temp[1] - temp[2] ) / 6.0; - for ( i = 1; i <= N - 2; i++ ) - out[i] = ( rate[0] * temp[i - 1] + rate[1] * temp[i] + rate[2] * temp[i + 1] ) / 3.0; - out[N - 1] = ( 5.0 * temp[N - 1] + 2.0 * temp[N - 2] - temp[N - 3] ) / 6.0; - } - for(int j = 0; j < N; j++) - temp[j] = out[j]; - } - delete []temp; -} -void linearSmooth5( float in[], float out[], int N, float rate[], int count ){ - float *temp = new float[N]; - for(int j = 0; j < N; j++) - temp[j] = in[j]; - - for(int c = 0; c < count; c++){ - int i; - if (N <= 5) - for ( i = 0; i < N; i++ ) out[i] = temp[i]; - else{ - float tmpY = (3.0 * temp[0] + 2.0 * temp[1] + temp[2] - temp[4]) / 5.0; - out[0] = tmpY; - tmpY = (4.0 * temp[0] + 3.0 * temp[1] + 2 * temp[2] + temp[3]) / 10.0; - out[1] = tmpY; - for (int i = 2; i <= N - 3; i++){ - tmpY = (rate[0] * temp[i - 2] + rate[1] * temp[i - 1] + rate[2] *temp[i] + rate[3] *temp[i + 1] + rate[4] * temp[i + 2]) / 5.0; - out[i] = tmpY; - } - tmpY = (4.0 * temp[N - 1] + 3.0 * temp[N - 2] + 2 * temp[N - 3] + temp[N - 4]) / 10.0; - out[N - 2] = tmpY; - tmpY = (3.0 * temp[N - 1] + 2.0 * temp[N - 2] + temp[N - 3] - temp[N - 5]) / 5.0; - out[N - 1] = tmpY; - } - for(int j = 0; j < N; j++) - temp[j] = out[j]; - } - - delete []temp; -} -void linearSmooth7( float in[], float out[], int N, float rate[], int count ){ - float *temp = new float[N]; - for(int j = 0; j < N; j++) - temp[j] = in[j]; - float tmpY; - for(int c = 0; c < count; c++){ - int i; - if (N <= 7) - for ( i = 0; i < N; i++ ) out[i] = temp[i]; - else{ - out[0] = temp[0]; - out[1] = temp[1]; - out[2] = temp[2]; - for (int i = 3; i <= N - 4; i++){ - tmpY = (rate[0] * temp[i-3] + rate[1] * temp[i-2] + rate[2] *temp[i-1] + rate[3] *temp[i] + rate[4] * temp[i+1] + rate[5] * temp[i+2] + rate[6] * temp[i+3]) / 7.0; - out[i] = tmpY; - } - out[N - 3] = temp[N - 3]; - out[N - 2] = temp[N - 2]; - out[N - 1] = temp[N - 1]; - } - for(int j = 0; j < N; j++) - temp[j] = out[j]; - } - - delete []temp; -} - -void DrawCurveView::receiveSmoothData(float sd, float ed, int mode, int cal, int count){ - if(!EditMode){ - whichMode = 2; - EditMode = true; - float curSdep = CurrentPos * rlev + sdep; - pressEdit = (sd - curSdep) / rlev + 0.5 + CurrentPos; - releaseEdit = (ed - curSdep) / rlev + 0.5 + CurrentPos; - pressPoint = -9999; - releasePoint = -9999; - hasSelect = false; - - initEditPart(); - } - else{ - oriCur2Edit(); - editValue[releaseEdit - pressEdit] = m_values[releaseEdit]; - } - - float rate[7]; - if(cal == 0) - for(int i = 0; i < 7; i++) - rate[i] = 1; - else if(cal == 2){ - if(mode == 0){rate[0] = 0.5;rate[1] = 2;rate[2] = 0.5;} - else if(mode == 1){rate[0] = 0.4;rate[1] = 0.85;rate[2] = 2.5;rate[3] = 0.85;rate[4] = 0.4;} - else if(mode == 2){rate[0] = 0.25;rate[1] = 0.5;rate[2] = 1;rate[3] = 3.5;rate[4] = 1;rate[5] = 0.5;rate[6] = 0.25;} - } - else if(cal == 3){ - if(mode == 0){rate[0] = 1.25;rate[1] = 0.5;rate[2] = 1.25;} - else if(mode == 1){rate[0] = 1.3;rate[1] = 0.9;rate[2] = 0.6;rate[3] = 0.9;rate[4] = 1.3;} - else if(mode == 2){rate[0] = 1.75;rate[1] = 0.9;rate[2] = 0.6;rate[3] = 0.5;rate[4] = 0.6;rate[5] = 0.9;rate[6] = 1.75;} - } - - switch(mode){ - case 0: - linearSmooth3(editValue, editValue, releaseEdit - pressEdit + 1, rate, count); - break; - case 1: - linearSmooth5(editValue, editValue, releaseEdit - pressEdit + 1, rate, count); - break; - case 2: - linearSmooth7(editValue, editValue, releaseEdit - pressEdit + 1, rate, count); - break; - } - - initeditIndex(); - - update(); -} - -void DrawCurveView::cancelSmoothEdit(){ - if(EditMode != true) return; - - for(int i = pressEdit; i < releaseEdit; i++) - editValue[i - pressEdit] = m_values[i]; - editValue[releaseEdit - pressEdit] = m_values[releaseEdit]; -} -void DrawCurveView::button_editIfBegin(){ - if(!EditMode && releasePoint != -9999 && pressPoint != -9999 ) - editIfBegin(); -} -void DrawCurveView::editIfBegin_Slot(){ - editIfBegin(); -} - -void DrawCurveView::editIfBegin(){ - whichMode = 2; - - EditMode = true; - pressEdit = pressPoint; - releaseEdit = releasePoint; - releasePoint = -9999; - hasSelect = false; - pressPoint = -9999; - initEditPart(); -} - -void DrawCurveView::initeditIndex(){ - for(int i = 0; i < releaseEdit - pressEdit; i++) - editIndex[i] = pressEdit + i; - - editIndexNum = releaseEdit - pressEdit; - - curEdit = releaseEdit-1; -} - -void DrawCurveView::initEditPart(){ - //eg. 2~5 - editValue = new float[releaseEdit - pressEdit + 1]; //4 - oriCur2Edit(); - - curEdit = pressEdit; - - editIndexNum = 1; - editIndex = new int[releaseEdit - pressEdit + 1]; //4 - editIndex[0] = pressEdit; //[0] == 2 - editIndex[releaseEdit - pressEdit] = releaseEdit; //[3]==5 - initeditIndex(); - - //onceEditIndex = new int[releaseEdit - pressEdit + 1]; - - //backup - tempPEdit = pressEdit; - tempREdit = releaseEdit; - - - emit unableEditButtons(); -} - -void DrawCurveView::oriCur2Edit(){ - for(int i = pressEdit; i < releaseEdit + 1; i++) - editValue[i - pressEdit] = m_values[i]; -} - -void DrawCurveView::sortEdit(){ - for(int i = 1; i < editIndexNum-1; i++) - if(editIndex[i] > editIndex[i+1]){ - int tempIndex2 = editIndex[i+1]; - editIndex[i+1] = editIndex[i]; - editIndex[i] = tempIndex2; - } -} - -void DrawCurveView::changeEditStrValue(int itemp){ - int a = editStrValue - itemp; - int b = lastEditPos - itemp; - if(a * b < 0){ - editStrValue = lastEditPos; - onceEditNum = 0; - } -} - -bool DrawCurveView::isIneditRange(int i){ - if(i < 0 || i >= releaseEdit - pressEdit + 1) - return false; - else - return true; -} - -void DrawCurveView::genEditLine(){ - if(!EditMode)return; - if(curEdit == -9999 || releaseEdit == -9999) return; - - int itemp = lastPos.y() * PageSize / m_height + 0.5 + CurrentPos;//当前深度下标 - float ivalue = lastPos.x() / m_width * (m_Xmax - m_Xmin) + m_Xmin; //计算曲线值 - - - if(itemp < pressEdit && itemp > releaseEdit){ - tempCurEdit = curEdit; - curEdit = releaseEdit; - return; - } - - //修正当前绘制朝向 - //changeEditStrValue(itemp); - - //修改头尾下标 - int headP, tailP = 0; - if(editStrValue < itemp){ headP = editStrValue; tailP = itemp;} - else{ headP = itemp; tailP = editStrValue;} - - //赋予新值 - if(!isIneditRange(itemp - pressEdit)) return; - editValue[itemp - pressEdit] = ivalue; - - //单位差 - if(!isIneditRange(headP - pressEdit) || !isIneditRange(tailP - pressEdit)) return; - float oneIndexAdd = (tailP == headP) ? (0) : (editValue[tailP - pressEdit] - editValue[headP - pressEdit]) / (tailP - headP); - - for(int i = 0; i < tailP - headP; i++){ - editValue[headP - pressEdit + i] = editValue[headP - pressEdit] + (i * oneIndexAdd); - } - - /* - int spIndex = -9999; - int eqIndex = -9999; - - for(int i = 0; i < releaseEdit - pressEdit + 1; i++) - { - - //寻找更改位置 - if(itemp < editIndex[i] && eqIndex == -9999 && spIndex == -9999) - spIndex = i; - else if(itemp == editIndex[i] && eqIndex == -9999 && spIndex == -9999) - eqIndex = i; - - bool inThis = false; - for(int j = 0; j < onceEditNum; j++) - if(editIndex[i] == onceEditIndex[j]){ - inThis = true; - break; - } - - if(headP < editIndex[i] && editIndex[i] < tailP && !inThis){ - for(int j = i; j < editIndexNum-1; j++) - editIndex[j] = editIndex[j+1]; - editIndexNum--; - } - else if(editIndex[i] > tailP) break; - } - - - //放置更改 - if(spIndex != -9999){ - for(int j = editIndexNum; j >= spIndex; j--) - editIndex[j+1] = editIndex[j]; - editIndex[spIndex] = itemp; - editIndexNum++; - editValue[itemp - pressEdit] = ivalue; - } - else if(eqIndex != -9999) - editValue[itemp - pressEdit] = ivalue; - - //_ASSERTE( _CrtCheckMemory( ) ); - - //跟新本次修改index集 - int ifi = 0; - for(ifi; ifi < onceEditNum; ifi++) - if(itemp == onceEditIndex[ifi]) break; - if(ifi == onceEditNum) - onceEditIndex[onceEditNum++] = itemp; - */ - - editStrValue = itemp; - - //sortEdit(); -} - -void DrawCurveView::finishEdit_SLOT() -{ - tempCurEdit = curEdit; - curEdit = releaseEdit; - overEdit(); -} - -void DrawCurveView::drawEditLine(QPainter *painter){ - if(!EditMode || pressEdit == -9999 || releaseEdit == -9999)return; - - if(releaseEdit <= CurrentPos || pressEdit >= (PageSize + CurrentPos)) - return; - - int inNum = 0;//画布上的edit点计数 - QPointF *points = new QPointF[PageSize + 1/*editIndexNum + 10*/]; - - int startPoint = (pressEdit < CurrentPos) ? CurrentPos : pressEdit; - int endPoint = (releaseEdit > (PageSize + CurrentPos)) ? (PageSize + CurrentPos) : releaseEdit; - - for(int i = startPoint; i < (endPoint + 1); i++){ - if(!isIneditRange(i - pressEdit)) continue; - points[inNum++] = coordCurvePoint(i - CurrentPos, editValue[i - pressEdit]); - } - - /* - //获取画布范围内的edit点集合 - int i = 0; - for(i; i < editIndexNum; i++){ - if(editIndex[i] < CurrentPos || editIndex[i] > CurrentPos+PageSize) continue; - points[inNum] = coordCurvePoint(editIndex[i] - CurrentPos, editValue[editIndex[i] - pressEdit]); - - if(points[inNum].x() < 0) - points[inNum].setX(0); - - inNum++; - } - - - if(whichMode == 2 && editIndex[i-1] < releaseEdit - 1){ - for(int j = editIndex[i-1]+1; j < releaseEdit; j++){ - points[inNum] = coordCurvePoint(j - CurrentPos, editValue[j - pressEdit]); - if(points[inNum].x() < 0) points[inNum].setX(0); - inNum++; - if(inNum >= editIndexNum + 10)break; - } - } - */ - - - //红色虚线绘笔 - - QPen pen(Qt::red, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin); - painter->setPen(pen); - - painter->drawPolyline(points, inNum); - delete []points; - - /* - if(curEdit >= releaseEdit && !editLock) - overEdit(); - */ -} - -void DrawCurveView::saveSmooth_SLOT(int mode) -{ - float rate[5] = {1,1,1,1,1}; - switch(mode){ - case 1: - linearSmooth3(tempEditValue, editValue, tempREdit - tempPEdit + 1, rate, 1); - break; - case 2: - linearSmooth5(tempEditValue, editValue, tempREdit - tempPEdit + 1, rate, 1); - break; - case 3: - for(int i = 0; i < tempREdit - tempPEdit + 1; i++) - editValue[i] = tempEditValue[i]; - } - update(); -} - -void DrawCurveView::overEdit(){ - if(!EditMode) return; - editLock = true; - bool re = saveEdit(1); - EditMode = false; - if(!re)return; - - curEdit = -9999; - pressPoint = -9999; - releasePoint = -9999; - pressEdit = -9999; - releaseEdit = -9999; - editIndexNum = 0; - - delete []editValue; - delete []editIndex; - //delete []onceEditIndex; - editLock = false; - ifContinue = false; - hasSelect = false; -} -void DrawCurveView::overEditSave(){ - if(!EditMode) return; - editLock = true; - bool re = saveEdit(3); - EditMode = false; - if(!re)return; - - curEdit = -9999; - pressPoint = -9999; - releasePoint = -9999; - pressEdit = -9999; - releaseEdit = -9999; - editIndexNum = 0; - - delete []editValue; - delete []editIndex; - //delete []onceEditIndex; - editLock = false; - ifContinue = false; - hasSelect = false; -} - -void DrawCurveView::continueEditNoSave_SLOT() -{ - ifContinue = true; -} - -bool DrawCurveView::saveEdit(int smooth){ - if(whichMode == 1){ - editIndex[editIndexNum++] = editIndex[tempREdit - tempPEdit]; - - float sValue,eValue,x; - int j=1; - for(int i=1; iOpen(fileName.toStdString().c_str(),CSlfIO::modeWrite); - int aindex=logio->OpenCurve(curveName.toStdString().c_str()); - if(aindex>=0)logio->WriteCurve(aindex, tempPEdit * rlev + sdep, tempREdit - tempPEdit + 1, &m_values[tempPEdit]); - logio->CloseCurve(aindex); - delete logio; - - QMessageBox::information(NULL, "", "保存完成!"); - return true; - } - int result = msgBox2->exec(); - - if(result == QDialog::Accepted){ - - smooth = msgBox2->SmoothResult(); - - float *tempValueList = new float[tempREdit - tempPEdit + 1]; - float rate[5] = {1,1,1,1,1}; - switch(smooth){ - case 1: - linearSmooth3(tempEditValue, tempValueList, tempREdit - tempPEdit + 1, rate, 1); - break; - case 2: - linearSmooth5(tempEditValue, tempValueList, tempREdit - tempPEdit + 1, rate, 1); - break; - } - - - if(smooth == 3){ - for(int i = 0; i < (tempREdit - tempPEdit + 1); i++) - m_values[tempPEdit+i] = tempEditValue[i]/*editValue[i]*/; - } - else{ - for(int i = 0; i < (tempREdit - tempPEdit + 1); i++) - m_values[tempPEdit+i] = tempValueList[i]/*editValue[i]*/; - } - - delete []tempValueList; - delete []tempEditValue; - update(); - - CLogIO *logio=new CLogIO(); - logio->Open(fileName.toStdString().c_str(),CSlfIO::modeWrite); - int aindex=logio->OpenCurve(curveName.toStdString().c_str()); - if(aindex>=0)logio->WriteCurve(aindex, tempPEdit * rlev + sdep, tempREdit - tempPEdit + 1, &m_values[tempPEdit]); - logio->CloseCurve(aindex); - delete logio; - - QMessageBox::information(NULL, "", "保存完成!"); - return true; - } - else{ - if(ifContinue){ - ifContinue = false; - for(int i = 0; i < tempREdit - tempPEdit + 1; i++) - editValue[i] = tempEditValue[i]; - delete []tempEditValue; - initeditIndex(); - editLock = false; - update(); - return false; - } - else{ - delete []tempEditValue; - return true; - } - } - -} - -void DrawCurveView::drawEditTishi(QPainter *painter) -{ - QFont UVDP_fontGray("Arial", tishiEditTime / 10, QFont::Bold, false); - UVDP_fontGray.setBold(false); - painter->setFont(UVDP_fontGray); - painter->setPen(Qt::gray); - - painter->drawText(tishiEdit, QString("编辑中")); - - tishiEditTime--; -} - -void DrawCurveView::paintEvent(QPaintEvent *evt) -{ - if(m_count <= 0) return; - - QPainter paint; - paint.begin(this); - paint.setBrush(Qt::white); - paint.drawRect(rect()); - paint.save(); - - QPen pen(Qt::red);//lightGray); - pen.setStyle(Qt::SolidLine); - pen.setWidth(1); - paint.setPen(pen); - //int y1=rect().bottom(),y2=rect().top(); - //paint.drawLine(rect().left()+5,rect().top()+5,rect().right()-5,rect().top()+5); - - drawCoord(&paint); - - // pen.setWidth(2); - pen.setColor(Qt::darkGray); - paint.setPen(pen); - - drawDataPoints(&paint); - usevalueDrawPoint(&paint); - drawMousePosLine(&paint); - - if(EditMode){ - drawEditLine(&paint); - - //if(tishiEditTime > 0) - // drawEditTishi(&paint); - } - - paint.restore(); - paint.end(); -} -void DrawCurveView::initView() -{ - /*int width=this->width(); - int height=this->height(); - rthy=QRect(0,0,width,height); - rthy1=QRect(0,0,width,30); - rthyt=QRect(0+2,30,width-4,height-30);*/ - m_width=this->width(); - m_height=this->height(); - - -} -void DrawCurveView::drawCoord(QPainter *painter) -{ - - if(!isInit ) - { - return; - } -} - -//计算参数在当前画布上的坐标 -QPointF DrawCurveView::coordCurvePoint(int iy,float value) -{ - float x = (value - m_Xmin) / (m_Xmax - m_Xmin) * m_width; - - float y = (float)(m_height * iy / PageSize); - - return QPoint(x,y); -} - -void DrawCurveView::setValues(float *values) -{ - if(NULL != m_values) - { - m_values=NULL; - } - m_values=values; -} - -void DrawCurveView::setCount(int count) -{ - m_count=count; -} - -void DrawCurveView::drawDataPoints(QPainter *painter) -{ - bool ifDrawEdit = false;//是否需要绘制编辑区域(蓝色) - bool ifEditMode = false;//是否有选中曲线 - - if(press_noRelease_mode) ifDrawEdit = true; - - if(pressPoint != -9999 && releasePoint != -9999){ - ifEditMode = true; - ifDrawEdit = true; - if(releasePoint <= CurrentPos || pressPoint >= (PageSize + CurrentPos)) ifDrawEdit = false; - //if(CurrentPos <= pressPoint && pressPoint < (PageSize + CurrentPos)) ifDrawEdit = true; - //if(CurrentPos < releasePoint && releasePoint <= (PageSize + CurrentPos)) ifDrawEdit = true; - } - - if(pressEdit != -9999 && releaseEdit != -9999){ - ifEditMode = true; - ifDrawEdit = true; - if(releaseEdit <= CurrentPos || pressEdit >= (PageSize + CurrentPos)) ifDrawEdit = false; - //if(CurrentPos <= pressEdit && pressEdit < (PageSize + CurrentPos)) ifDrawEdit = true; - //if(CurrentPos < releaseEdit && releaseEdit <= (PageSize + CurrentPos)) ifDrawEdit = true; - } - - //绘制常规曲线 - float value=0; - - //获得当前页point - QPolygonF polygon; - QPointF *points = new QPointF[PageSize]; - for(int i = 0; i < PageSize; i++) - { - value = (i + CurrentPos >= m_count) ? -9999999. : m_values[i + CurrentPos]; - - //获取该点在画布上的位置 - points[i] = coordCurvePoint(i, value); - - if(points[i].x() < 0) - points[i].setX(0); - - polygon< CurrentPos + PageSize) bPoint = CurrentPos + PageSize; //编辑区域下界在画布下方 - else bPoint = press_noRelease_point; - } - else if(!EditMode){ - if(pressPoint < CurrentPos) fPoint = CurrentPos; //编辑区域上界在画布上方 - else fPoint = pressPoint; - - if(releasePoint > CurrentPos + PageSize) bPoint = CurrentPos + PageSize - 1; //编辑区域下界在画布下方 - else bPoint = releasePoint; - } - else{ - if(pressEdit < CurrentPos) fPoint = CurrentPos; - else fPoint = pressEdit; - if(releaseEdit > CurrentPos + PageSize) bPoint = CurrentPos+PageSize-1; - else bPoint = releaseEdit; - } - - painter->setPen(Qt::gray); - painter->drawPolyline(points, fPoint - CurrentPos); - - - //添加编辑区域背景色 - painter->setBrush(QColor(0xDD, 0xDD, 0xDD)); - painter->drawRect( 0, - points[fPoint - CurrentPos].y(), - width(), - points[bPoint - CurrentPos].y() - points[fPoint - CurrentPos].y() - ); - - //绘制编辑区域的蓝色线段 - QPen pen(Qt::blue, 1, Qt::DashLine, Qt::RoundCap, Qt::RoundJoin); - painter->setPen(pen); - painter->drawPolyline(&points[fPoint - CurrentPos], (bPoint - fPoint)); - - //绘制剩余的灰色线段 - QPen pen1(Qt::gray, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin); - painter->setPen(pen1); - painter->drawPolyline(&points[bPoint - CurrentPos], PageSize - (bPoint - CurrentPos)); - } - else{ - if(ifEditMode || EditMode) - painter->setPen(Qt::gray); - else - painter->setPen(Qt::darkBlue); - painter->drawPolyline(points, PageSize); - } - delete []points; - - - //绘制联动红点 - if(rlev == 0)return; - float curSdep = CurrentPos * rlev + sdep; - float curEdep = (CurrentPos + PageSize-1) * rlev + sdep; - if(curEdep > edep) curEdep = edep; - if(curSdep > edep) curSdep = edep; - if(userCurrentPos > curSdep && userCurrentPos < curEdep) - { - int itemp = (userCurrentPos - curSdep) / rlev + 0.5; - - if(itemp + CurrentPos >= m_count) value=-9999999.; - else - { - value = m_values[itemp + CurrentPos]; - userPos = itemp; - } - float x = (value - m_Xmin) / (m_Xmax - m_Xmin) * m_width; - float y = (float)(m_height * itemp / PageSize); - - QPen pen(Qt::red, 8, Qt::DashDotLine, Qt::RoundCap, Qt::RoundJoin); - pen.setCapStyle(Qt::RoundCap); - painter->setPen(pen); - painter->drawPoint(x, y); - userCurrentValue = value; - - ShowCurve* fParent= (ShowCurve *)(this->parent()->parent()); - fParent->lineEdit_curValue_Change(value); - } - -} diff --git a/WellLogUI/src/DrawCurveView.h b/WellLogUI/src/DrawCurveView.h deleted file mode 100644 index 2c4d2f3..0000000 --- a/WellLogUI/src/DrawCurveView.h +++ /dev/null @@ -1,157 +0,0 @@ -#ifndef DRAWCURVEVIEW_H -#define DRAWCURVEVIEW_H - -#include -#include -#include "qpushbutton.h" -//#include "DataManagger.h" -#include "SmoothTool.h" -#include "AngleAdjTool.h" -#include "editEnd.h" - -#pragma execution_character_set("utf-8") - -//视图边距 -#define D_VIEW_MARGIN_LEFT 80//左、下边界 -#define D_VIEW_MARGIN_BOTTOM 30//左、下边界 -#define D_VIEW_MARGIN_RIGHT 40//右、上边界 -#define D_VIEW_MARGIN_TOP 25//上边界 - - -class DrawCurveView : public QWidget -{ - Q_OBJECT -public: - explicit DrawCurveView(QWidget *parent = nullptr); - ~DrawCurveView(); - void initView(); - void setValues(float *values); - void setCount(int count); - -signals: - void enableEditButtons(); - void unableEditButtons(); - void R2L(); - void verticalSliderUP(); - void verticalSliderDOWN(); - void editModeTips(); - -public slots: - void editIfBegin_Slot(); - void smoothWin_Slot(); - void finishEdit_SLOT(); - void AngAdjWin_SLOT(); - void overEditSave(); - -private slots: - void receiveSmoothData(float sd, float ed, int mode, int cal, int count); - void cancelSmoothEdit(); - void saveSmooth_SLOT(int); - void receiveAngleData(float,float,float,float,float); - void cancelAngleEdit(); - - void continueEditNoSave_SLOT(); -protected: - virtual void paintEvent(QPaintEvent *evt); - virtual void mouseMoveEvent(QMouseEvent *event); - virtual void mousePressEvent(QMouseEvent *event); - virtual void mouseReleaseEvent(QMouseEvent *event); - virtual void wheelEvent(QWheelEvent *event); -private: - //绘制坐标 - void drawCoord(QPainter *painter); - - //波列数据转换为图像坐标 - QPointF coordCurvePoint(int ix,float value); - - //绘制波列数据点 - void drawDataPoints(QPainter *painter); - - //绘制鼠标位置线 - void drawMousePosLine(QPainter *painter); - - //绘制鼠标单点 - void usevalueDrawPoint(QPainter *painter); - - //曲线操作 - void initCurveViewQMenu(); - void initCurveEditQMenu(); - - //获取当前鼠标位置的曲线下标 - int calMousePoint(); - - //绘制编辑模式提示字符 - void drawEditTishi(QPainter *painter); - - void editIfBegin(); - void initEditPart();//初始化编辑块 - void initeditIndex(); - void oriCur2Edit();//载入原有曲线 - void drawEditLine(QPainter *painter);//绘制编辑曲线 - void genEditLine();//生成编辑曲线 - void changeEditStrValue(int temp);//单回合编辑中更新起始编辑点 - void sortEdit();//顺序 - bool saveEdit(int Smooth);//保存编辑 - void overEdit();//结束编辑 - - void AngAdjWin(); - void smoothWin(); - - bool isIneditRange(int); -private: - bool press_noRelease_mode; //点下未抬起状态 - int press_noRelease_point; //点下未抬起状态下鼠标位置 - - float *m_values; - int m_count; - bool isInit; - - float m_width; - float m_height; - QPoint lastPos; - QPoint frontPos; - QList underBarHeight; - - editEnd *msgBox2; - bool editLock; - bool ifContinue;//继续编辑标 - int pressPoint, releasePoint;//记录修改上下界 - int pressEdit,releaseEdit,curEdit,tempCurEdit; //编辑范围 - int lastEditPos,editIndexNum; - int tempPEdit,tempREdit;//备份 - float *editValue, *tempEditValue;//编辑值 - int *editIndex;//有编辑过的index - - int editStrValue, onceEditNum;//编辑起始位置,单次编辑量 - int *onceEditIndex;//单次修改index记录 - - bool hasSelect;//选中区域标识 - int whichMode; - bool EditMode; - - SmoothTool *sTool; - AngleAdjTool *angTool; - - float mouseDrawDepth, mouseDrawValue;//实时记录鼠标所在深度及数值 - - QPoint tishiEdit; - float tishiEditTime; -public: - QString fileName, curveName; - - int PageSize,CurrentPos,userPos; - - float userCurrentPos; - float userCurrentValue; - - QRect rthy,rthy1,rthyt; - float factor; - float m_Xmin,m_Xmax; - float sdep,edep,rlev; -public: - void button_editIfBegin(); - void button_smoothWin(); - void button_AngAdjWin(); -}; - -#endif // DRAWCURVEVIEW_H diff --git a/WellLogUI/src/ShowCurve.cpp b/WellLogUI/src/ShowCurve.cpp deleted file mode 100644 index 420bc4b..0000000 --- a/WellLogUI/src/ShowCurve.cpp +++ /dev/null @@ -1,555 +0,0 @@ -#include "ShowCurve.h" -#include "ui_ShowCurve.h" -//#include "DrawAPicture.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "geometryutils.h" -#include "CallManage.h" - -#define R2LTIPS "请拖动数据表格纵向滑块即可完成深度初定位." -#define EDITMODETIPS "正处于编辑模式单击右键以完成编辑." - -ShowCurve::ShowCurve(QWidget *parent) : -QWidget(parent), - m_pUI(new Ui::ShowCurve),vmax(-9999),vmin(-9999), - mouseDepth(0), - mouseValue(0), - getBar(false), - locked(true), - hasTipsWidth(false) -{ - val=NULL; - m_pUI->setupUi(this); - int w = width(); - int h = height(); - m_timer = new QTimer(); - - if(NULL != parent) - { - parent->setFixedSize(w,h); - } - - thisParent = parent; - m_view = new DrawCurveView(); - - m_pUI->pushButton->setEnabled(false); - m_pUI->pushButton_2->setEnabled(false); - m_pUI->pushButton_3->setEnabled(false); - - - connect(CallManage::getInstance(), SIGNAL(sig_ValueChange(int, float)), this, SLOT(linkVerDeptSliderValueChange(int, float))); - connect(m_pUI->verticalSlider,SIGNAL(valueChanged(int)),this,SLOT(onVerDeptSliderValueChange(int))); - connect(m_view, SIGNAL(verticalSliderUP()), this, SLOT(SliderUP_SLOT())); - connect(m_view, SIGNAL(verticalSliderDOWN()), this, SLOT(SliderDOWN_SLOT())); - connect(m_view, SIGNAL(editModeTips()), this, SLOT(editModeTips_SLOT())); - - connect(m_pUI->deptEdit->lineEdit_Depth, SIGNAL(textChanged( QString )),this,SLOT(slotChangeDepth(QString))); - connect(m_pUI->pushButtonScale, SIGNAL(clicked()), this, SLOT(slotChangeScale())); - connect(m_pUI->pushButtonStretch, SIGNAL(clicked()), this, SLOT(slotStretch())); - connect(m_pUI->pushButtonCompres, SIGNAL(clicked()), this, SLOT(slotCompres())); - - connect(m_pUI->pushButton, SIGNAL(clicked()), this, SLOT(editSig_SLOT())); - connect(m_pUI->pushButton_2, SIGNAL(clicked()), this, SLOT(smoothSig_SLOT())); - connect(m_pUI->pushButton_3, SIGNAL(clicked()), this, SLOT(angSig_SLOT())); - connect(m_view, SIGNAL(enableEditButtons()), this, SLOT(editButtonsCon_SLOT())); - connect(m_view, SIGNAL(unableEditButtons()), this, SLOT(unEditButtonsCon_SLOT())); - - //测试 -// connect(m_pUI->pushButton_4, SIGNAL(clicked()), this, SLOT(testButton_SLOT())); - - QPixmap pushButton_5Pixmap; pushButton_5Pixmap.load(::GetImagePath() + "/UIMake/R2L.png"); - m_pUI->pushButton_5->setFixedSize(pushButton_5Pixmap.width(), pushButton_5Pixmap.height()); - m_pUI->pushButton_5->setIcon(pushButton_5Pixmap); - m_pUI->pushButton_5->setIconSize(QSize(pushButton_5Pixmap.width(), pushButton_5Pixmap.height())); - //m_pUI->pushButton_5->setFlat(true); - connect(m_pUI->pushButton_5, SIGNAL(clicked()), this, SLOT(R2LButton_SLOT())); - connect(m_view, SIGNAL(R2L()), this, SLOT(R2LMouse_SLOT())); - connect(m_pUI->lineEdit_Value, SIGNAL(returnPressed()), this, SLOT(R2LButton_SLOT())); - m_pUI->lineEdit_Value->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - - QPixmap pushButton_6Pixmap; - pushButton_6Pixmap.load(::GetImagePath() + "/UIMake/L2RLock.png"); - m_pUI->pushButton_6->setFixedSize(pushButton_6Pixmap.width(), pushButton_6Pixmap.height()); - m_pUI->pushButton_6->setIcon(pushButton_6Pixmap); - m_pUI->pushButton_6->setIconSize(QSize(pushButton_6Pixmap.width(), pushButton_6Pixmap.height())); - //m_pUI->pushButton_6->setFlat(true); - connect(m_pUI->pushButton_6, SIGNAL(clicked()), this, SLOT(lockChange_SLOT())); - - - QPixmap sizeButtonPixmap; - sizeButtonPixmap.load(::GetImagePath() + "/UIMake/UIButtonBig_o.png"); - m_pUI->pushButtonStretch->setFixedSize(sizeButtonPixmap.width(), sizeButtonPixmap.height()); - m_pUI->pushButtonStretch->setIcon(sizeButtonPixmap); - m_pUI->pushButtonStretch->setIconSize(QSize(sizeButtonPixmap.width(), sizeButtonPixmap.height())); - //m_pUI->pushButtonStretch->setStyleSheet("QPushButton:hover{background-color: rgb(254,164,134);}"); - //m_pUI->pushButtonStretch->setFlat(true); - sizeButtonPixmap.load(::GetImagePath() + "/UIMake/UIButtonSmall_o.png"); - m_pUI->pushButtonCompres->setFixedSize(sizeButtonPixmap.width(), sizeButtonPixmap.height()); - m_pUI->pushButtonCompres->setIcon(sizeButtonPixmap); - m_pUI->pushButtonCompres->setIconSize(QSize(sizeButtonPixmap.width(), sizeButtonPixmap.height())); - //m_pUI->pushButtonCompres->setFlat(true); - - tipsHeight = m_pUI->textBrowser->height(); - //m_pUI->textBrowser->verticalScrollBar()->setVisible(false); - //m_pUI->textBrowser->horizontalScrollBar()->setVisible(false); - QPalette pa; - pa.setColor(QPalette::WindowText, QColor(120,120,120)); - m_pUI->textBrowser->setPalette(pa); -} -void ShowCurve::testButton_SLOT() -{ - -// DrawAPicture *t = new DrawAPicture(); -// t->show(); -} - -void ShowCurve::init() -{ - CLogIO *logio=new CLogIO(); - logio->Open(FileName.toStdString().c_str(),CSlfIO::modeRead); - index=logio->OpenCurve(CurveName.toStdString().c_str()); - if(index<0) { - delete logio; - return; - } - logio->GetCurveInfo(index,&curveinfo); - sdep=curveinfo.StartDepth; - edep=curveinfo.EndDepth; - rlev=curveinfo.DepLevel; - m_view->sdep = sdep; - m_view->edep = edep; - m_view->rlev = rlev; - m_view->userPos = 0; - m_view->fileName = FileName; - m_view->curveName = CurveName; - curDepth=sdep+(edep-sdep)/2.; - - count=(curveinfo.EndDepth-curveinfo.StartDepth)/curveinfo.DepLevel+1.5; - val=new float[count]; - logio->ReadCurve(index,curveinfo.StartDepth,count,&val[0]); - logio->CloseCurve(index); - delete logio; - - if(vmax==-9999 && vmin==-9999) - if(!getValueRangeFromIni()){ - vmax=vmin=val[0]; - for(int i=1;ival[i])vmin=val[i]; - } - m_view->m_Xmax=vmax,m_view->m_Xmin=vmin; - - m_pUI->lineEdit_Xmax->setText(QString::number(vmax)); - m_pUI->lineEdit_Xmax->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - m_pUI->lineEdit_Xmin->setText(QString::number(vmin)); - m_pUI->lineEdit_Xmin->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - } - - m_view->setValues(val); - m_view->factor=2; - initVerMaxRange = 200; - m_view->PageSize = int(count / initVerMaxRange + 100); - if(m_view->PageSize < 500) m_view->PageSize=500; - //m_view.PageSize=(int)(200./curveinfo.DepLevel+0.5); - //for small rlev - //if(curveinfo.DepLevel<0.005)m_view.PageSize/=100; - //else if(curveinfo.DepLevel<0.05)m_view.PageSize/=10; - - - QString title= QString( curveinfo.Name)+QString::fromUtf8("曲线预览"); - m_pUI->label_WfName->setText(title); - m_pUI->label_StartDepth->setText(QString::number(sdep)); - m_pUI->label_EndDepth->setText(QString::number(edep)); - - m_pUI->deptEdit->lineEdit_Depth->setText(QString::number(curDepth)); - m_pUI->deptEdit->lineEdit_Depth->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - - QPalette pal; - m_pUI->widgetPlot->setStyleSheet("background:lightgray"); - m_pUI->widgetPlot->setPalette(pal); - m_view->setParent(m_pUI->widgetPlot); - m_view->setCount(count); - m_pUI->verticalSlider->setRange(0, initVerMaxRange); - m_pUI->verticalSlider->setValue(initVerMaxRange / 2); -} - -bool ShowCurve::getValueRangeFromIni() -{ - QString curveFamilyFilePath = ::GetConfPath() + "CurveFamily.ini"; - QFile curveFamilyFile(curveFamilyFilePath); - if(!curveFamilyFile.open(QIODevice::ReadOnly | QIODevice::Text)) return false; - - bool finished = false; - while(!curveFamilyFile.atEnd()) - { - QByteArray line = curveFamilyFile.readLine(); - QString str(line); - QStringList strList = str.split("="); - if(strList[0] == CurveName) - { - strList = str.split(","); - float minValue = strList[1].toFloat(); - float maxValue = strList[2].toFloat(); - if(minValue < -9999 || minValue > 9999) return false; - if(maxValue < -9999 || maxValue > 9999) return false; - if(maxValue <= minValue) return false; - m_view->m_Xmax=maxValue,m_view->m_Xmin=minValue; - - m_pUI->lineEdit_Xmax->setText(QString::number(maxValue)); - m_pUI->lineEdit_Xmax->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - m_pUI->lineEdit_Xmin->setText(QString::number(minValue)); - m_pUI->lineEdit_Xmin->setValidator(new QDoubleValidator(-9999999,9999999,6,this)); - - finished = true; - break; - } - } - curveFamilyFile.close(); - - return finished; -} - -void ShowCurve::editSig_SLOT() -{ - m_view->button_editIfBegin(); -} -void ShowCurve::smoothSig_SLOT() -{ - m_view->button_smoothWin(); -} -void ShowCurve::angSig_SLOT() -{ - m_view->button_AngAdjWin(); -} - -void ShowCurve::editModeTips_SLOT() -{ - if(!hasTipsWidth){ - tipsWidth = m_pUI->textBrowser->width(); - hasTipsWidth = true; - } - tipsText = QString::fromUtf8(EDITMODETIPS); - m_pUI->textBrowser->setText(tipsText); - m_pUI->textBrowser->setGeometry(QRect( m_pUI->textBrowser->x(), - m_pUI->textBrowser->y(), - tipsWidth, - m_pUI->textBrowser->height())); - - connect(m_timer, SIGNAL(timeout()), SLOT(promptDisplay())); - m_timer->setInterval(1000); - m_timer->start(); - return; -} - -void ShowCurve::slotChangeDepth(const QString &text) -{ - if(text.toFloat() < sdep || text.toFloat() > edep) - { - // m_pUI->lineEdit_Depth->setText(QString::number(curDepth)); - return; - } - curDepth = text.toFloat(); - if(curveinfo.EndDepth == curveinfo.StartDepth) { - m_view->CurrentPos = 0; - } - else { - m_view->CurrentPos = (curDepth - curveinfo.StartDepth) / (curveinfo.EndDepth - curveinfo.StartDepth) * count; - } - - //m_pUI->lineEdit_Value->setText(QString::number(curDepth)); - m_view->update(); -} - -void ShowCurve::resizeEvent(QResizeEvent *resize) -{ - QSize orgsize=this->size(); - QWidget::resizeEvent(resize); - - if(resize->size().isValid()) - { - QSize changeSize=resize->size(); - int width=changeSize.width()-orgsize.width(); - int height= changeSize.height()-orgsize.height(); - - m_view->resize(changeSize.width()-150,changeSize.height()-100); - m_view->initView(); - m_view->update(); - } -} - -void ShowCurve::onVerDeptSliderValueChange(int value) -{ - curDepth = edep - (edep-sdep) * value / initVerMaxRange; - m_pUI->deptEdit->lineEdit_Depth->setText(QString::number(curDepth)); - m_view->update(); - - curDepRange(); - - //setCurveTableForce(curDepth); -} - -void ShowCurve::SliderUP_SLOT() -{ - m_pUI->verticalSlider->setValue(m_pUI->verticalSlider->value() + 1); -} - -void ShowCurve::SliderDOWN_SLOT() -{ - m_pUI->verticalSlider->setValue(m_pUI->verticalSlider->value() - 1); -} - -void ShowCurve::mouseMkChange(float depth, float value){ - mouseDepth = depth; - mouseValue = value; - //m_pUI->lineEdit_Value->setText(QString::number(depth)); - //m_pUI->lineEdit_curValue->setText(QString::number(value)); -} - -void ShowCurve::lineEdit_curValue_Change(float v){ - //m_pUI->lineEdit_curValue->setText(QString::number(v)); -} - -//联动 -void ShowCurve::linkVerDeptSliderValueChange(int value, float tipValue) -{ - if(rlev <= 0 || edep == sdep || locked == false)return; - - m_pUI->deptEdit->lineEdit_Depth->setText(QString::number(tipValue)); - m_pUI->lineEdit_Value->setText(QString::number(tipValue)); - - int pageNo = (edep - tipValue) / (edep-sdep) * initVerMaxRange + m_view->PageSize / 2 * rlev / ((edep-sdep)/initVerMaxRange); - if(pageNo > initVerMaxRange) pageNo = initVerMaxRange; - - int curCount = (tipValue - sdep) / rlev + 0.5; - //m_pUI->lineEdit_curValue->setText(QString::number(val[curCount])); - - m_pUI->verticalSlider->setValue(pageNo); - onVerDeptSliderValueChange(pageNo); - - m_view->userCurrentPos = tipValue; - - m_view->update(); -} - -void ShowCurve::setTableBro(QScrollBar *p) -{ - getBar = true; - tableBro = p; -} -void ShowCurve::setCurveTable(QTableWidget *t) -{ - curveTable = t; -} - -//改变刻度按钮槽 -void ShowCurve::slotChangeScale() -{ - m_view->m_Xmin=m_pUI->lineEdit_Xmin->text().toFloat(); - m_view->m_Xmax=m_pUI->lineEdit_Xmax->text().toFloat(); - m_view->update(); -} - -void ShowCurve::slotStretch()//深度拉伸 -{ - initVerMaxRange *= 1.5; - if(initVerMaxRange == 1)initVerMaxRange=2; - m_pUI->verticalSlider->setRange(0, initVerMaxRange); - - if(!m_pUI->pushButtonCompres->isEnabled()) - m_pUI->pushButtonCompres->setEnabled(true); - - m_view->PageSize/=1.5; - if(m_view->PageSize < 50) - m_pUI->pushButtonStretch->setEnabled(false); - - m_view->update(); - - curDepRange(); -} -void ShowCurve::slotCompres()//深度压缩 -{ - initVerMaxRange /= 1.5; - - if(initVerMaxRange / 1.5 <= 1) - m_pUI->pushButtonCompres->setEnabled(false); - - m_pUI->verticalSlider->setRange(0, initVerMaxRange); - - if(!m_pUI->pushButtonStretch->isEnabled()) - m_pUI->pushButtonStretch->setEnabled(true); - - m_view->PageSize*=1.5; - m_view->update(); - - curDepRange(); -} - -//改变绘制窗口的深度显示 -void ShowCurve::curDepRange() -{ - float cDR_value = m_pUI->verticalSlider->value(); - float cDR_startDepth = edep - (edep-sdep) * cDR_value / initVerMaxRange; - float cDR_endDepth = cDR_startDepth + m_view->PageSize * rlev; - - m_pUI->label_StartDepth->setText(QString::number(cDR_startDepth)); - m_pUI->label_EndDepth->setText(QString::number(cDR_endDepth)); -} - - void ShowCurve::showEvent(QShowEvent *sEvent) -{ - QWidget::showEvent(sEvent); - - QRect rec=m_pUI->widgetPlot->geometry(); - qDebug()<<"value:"<setGeometry(0,0,w,h); - - m_view->initView(); - -} - -ShowCurve::~ShowCurve() -{ - delete m_pUI; - if(val)delete []val; - delete m_view; - delete m_timer; -} - -void ShowCurve::editButtonsCon_SLOT() -{ - m_pUI->pushButton->setEnabled(true); - m_pUI->pushButton_2->setEnabled(true); - m_pUI->pushButton_3->setEnabled(true); -} -void ShowCurve::unEditButtonsCon_SLOT() -{ - m_pUI->pushButton->setEnabled(false); - m_pUI->pushButton_2->setEnabled(false); - m_pUI->pushButton_3->setEnabled(false); -} - -void ShowCurve::R2LButton_SLOT() -{ - if(!getBar){ - if(!hasTipsWidth){ - tipsWidth = m_pUI->textBrowser->width(); - hasTipsWidth = true; - } - tipsText = QString::fromUtf8(R2LTIPS); - m_pUI->textBrowser->setText(tipsText); - m_pUI->textBrowser->setGeometry(QRect( m_pUI->textBrowser->x(), - m_pUI->textBrowser->y(), - tipsWidth, - m_pUI->textBrowser->height())); - - connect(m_timer, SIGNAL(timeout()), SLOT(promptDisplay())); - m_timer->setInterval(1000); - m_timer->start(); - return; - } - - //以输入框深度信息 - float R2L_depthValue = m_pUI->lineEdit_Value->text().toFloat(); - m_view->userCurrentPos = R2L_depthValue; - - int pageNo = (edep - R2L_depthValue) / (edep-sdep) * initVerMaxRange + m_view->PageSize / 2 * rlev / ((edep-sdep)/initVerMaxRange); - if(pageNo > initVerMaxRange) pageNo = initVerMaxRange; - m_pUI->verticalSlider->setValue(pageNo); - - int tv = tableBro->maximum(); - float oneValue = (edep - sdep) / tv; - int bv = (R2L_depthValue - sdep) / oneValue; - tableBro->setValue(bv); - - setCurveTableForce(R2L_depthValue); -} - -void ShowCurve::R2LMouse_SLOT() -{ - if(!getBar) return; - - //以鼠标位置深度信息 - m_view->userCurrentPos = mouseDepth; - - m_pUI->lineEdit_Value->setText(QString::number(mouseDepth)); - //m_pUI->lineEdit_curValue->setText(QString::number(mouseValue)); - - int tv = tableBro->maximum(); - float oneValue = (edep - sdep) / tv; - int bv = (mouseDepth - sdep) / oneValue; - tableBro->setValue(bv); - - setCurveTableForce(mouseDepth); -} - -void ShowCurve::promptDisplay() -{ - m_timer->stop(); - - //m_pUI->textBrowser->setText(tipsText); - //m_pUI->textBrowser->windowOpacity - QPropertyAnimation *tipsAnimation = new QPropertyAnimation(m_pUI->textBrowser, "geometry"); - tipsAnimation->setDuration(2000); - tipsAnimation->setStartValue(QRect( m_pUI->textBrowser->x(), - m_pUI->textBrowser->y(), - tipsWidth, - m_pUI->textBrowser->height() - )); - tipsAnimation->setEndValue(QRect( m_pUI->textBrowser->x(), - m_pUI->textBrowser->y(), - 0, - m_pUI->textBrowser->height() - )); - - tipsAnimation->start(); - connect(tipsAnimation, SIGNAL(finished()), this, SLOT(clearTips_SLOT())); -} - -void ShowCurve::clearTips_SLOT() -{ - m_pUI->textBrowser->setText(""); -} - -void ShowCurve::setCurveTableForce(float dep) -{ - float tv = tableBro->maximum(); - float oneValue = (edep - sdep) / tv; - int bv = (dep - sdep) / oneValue; - - float SCTF_r = bv / tv; - - int SCTF_pos = (curveTable->rowCount()+1) * SCTF_r; - - qDebug() << "setCurveTableForce" << QString::number(SCTF_pos); - curveTable->selectRow(SCTF_pos); -} - -void ShowCurve::lockChange_SLOT() -{ - locked = !locked; - if(locked){ - QPixmap pushButton_6Pixmap; - pushButton_6Pixmap.load(::GetImagePath() + "/UIMake/L2RLock.png"); - m_pUI->pushButton_6->setFixedSize(pushButton_6Pixmap.width(), pushButton_6Pixmap.height()); - m_pUI->pushButton_6->setIcon(pushButton_6Pixmap); - m_pUI->pushButton_6->setIconSize(QSize(pushButton_6Pixmap.width(), pushButton_6Pixmap.height())); - } - else{ - QPixmap pushButton_6Pixmap; - pushButton_6Pixmap.load(::GetImagePath() + "/UIMake/L2RUnlock.png"); - m_pUI->pushButton_6->setFixedSize(pushButton_6Pixmap.width(), pushButton_6Pixmap.height()); - m_pUI->pushButton_6->setIcon(pushButton_6Pixmap); - m_pUI->pushButton_6->setIconSize(QSize(pushButton_6Pixmap.width(), pushButton_6Pixmap.height())); - } -} diff --git a/WellLogUI/src/ShowCurve.h b/WellLogUI/src/ShowCurve.h deleted file mode 100644 index 14a18c1..0000000 --- a/WellLogUI/src/ShowCurve.h +++ /dev/null @@ -1,93 +0,0 @@ -#ifndef WIDGET_H1 -#define WIDGET_H1 - -#include -#include -#include -#include -#include -#include -//#include -#include "MemRdWt.h" -#include "DrawCurveView.h" - -#pragma execution_character_set("utf-8") - -namespace Ui { -class ShowCurve; -} - -class ShowCurve : public QWidget -{ - Q_OBJECT - -public: - explicit ShowCurve(QWidget *parent = 0); - ~ShowCurve(); - Slf_CURVE curveinfo; - float *val; - DWORD count; - float sdep,edep,rlev,stime,etime,curTime,curDepth; - float vmax,vmin; - DrawCurveView *m_view; - //void readcurve(); - void init(); - QString FileName,CurveName; - int index; - - int initVerMaxRange; - - void mouseMkChange(float depth, float value); - - void lineEdit_curValue_Change(float); - - void setTableBro(QScrollBar *p); - void setCurveTable(QTableWidget *t); -protected: - //implement class QWidget - virtual void showEvent(QShowEvent *sEvent); - virtual void resizeEvent(QResizeEvent *resize); - -public slots: - void onVerDeptSliderValueChange(int value); - void SliderUP_SLOT(); - void SliderDOWN_SLOT(); - void linkVerDeptSliderValueChange(int value,float tipValue); - void slotChangeDepth(const QString &text); - void slotChangeScale(); - void slotStretch(); - void slotCompres(); - - void editSig_SLOT(); - void smoothSig_SLOT(); - void angSig_SLOT(); - void editButtonsCon_SLOT(); - void unEditButtonsCon_SLOT(); - void R2LButton_SLOT(); - void R2LMouse_SLOT(); -private: - bool getBar; - bool locked; - float mouseDepth, mouseValue; - QScrollBar *tableBro; - QTableWidget *curveTable; - QWidget* thisParent; - Ui::ShowCurve *m_pUI; - float tipsWidth, tipsHeight; - bool hasTipsWidth; - QTimer *m_timer; - QString tipsText; - - void curDepRange(); - void setCurveTableForce(float dep); - bool getValueRangeFromIni(); - -private slots: - void testButton_SLOT(); - void lockChange_SLOT(); - void editModeTips_SLOT(); - void promptDisplay(); - void clearTips_SLOT(); -}; - -#endif diff --git a/WellLogUI/src/ShowCurve.ui b/WellLogUI/src/ShowCurve.ui deleted file mode 100644 index a7893ed..0000000 --- a/WellLogUI/src/ShowCurve.ui +++ /dev/null @@ -1,580 +0,0 @@ - - - ShowCurve - - - - 0 - 0 - 1000 - 800 - - - - - 0 - 0 - - - - - 400 - 571 - - - - - 16777215 - 16777215 - - - - 曲线预览 - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - 曲线: - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - 0 - 0 - - - - - 16777215 - 16777215 - - - - Qt::AlignCenter - - - - - - - 改变刻度 - - - - - - - - 0 - 1 - - - - - 0 - 0 - - - - - 16777215 - 16777215 - - - - - 0 - 0 - - - - Qt::AlignCenter - - - - - - - - - - 0 - 0 - - - - - 500 - 385 - - - - - - - - - - - - - - 0 - - - 199 - - - 1 - - - 10 - - - Qt::Vertical - - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - 0 - 0 - - - - - 55 - 200 - - - - - 55 - 200 - - - - QFrame::NoFrame - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - 150 - 16777215 - - - - 曲线绘制 - - - - - - - - 150 - 16777215 - - - - 平滑处理 - - - - - - - - 150 - 16777215 - - - - 基线校正 - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - - - - - - - - - - - 0 - 0 - - - - 底深(m) - - - - - - - - 0 - 0 - - - - - 80 - 0 - - - - - 100 - 16777215 - - - - 1000 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - 0 - 0 - - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - - - - - - - - 0 - 0 - - - - 顶深(m) - - - - - - - - 0 - 0 - - - - - 80 - 0 - - - - - 100 - 16777215 - - - - 500 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - - - - - 4 - - - 4 - - - 4 - - - 4 - - - - - - - - - QPushButton:hover{background-color: rgba(0, 170, 255, 80);} -QPushButton{background-color: rgba(255, 255, 255, 0);} - - - - - - - - - - true - - - QPushButton:hover{background-color: rgba(0, 170, 255, 80);}QPushButton{background-color: rgba(255, 255, 255, 0);} - - - - - - - - - - Qt::Vertical - - - - - - - - 40 - 16777215 - - - - QPushButton:hover{background-color: rgba(0, 170, 255, 80);}QPushButton{background-color: rgba(255, 255, 255, 0);} - - - - - - - - - - Qt::Vertical - - - - - - - - - 1 - - - - - - - 深度定位(m) - - - Qt::AlignCenter - - - - - - - true - - - - 0 - 0 - - - - Qt::AlignCenter - - - - - - - QPushButton:hover{background-color: rgba(0, 170, 255, 80);}QPushButton{background-color: rgba(255, 255, 255, 0);} - - - - - - - - - - - - - - - - - - - - - - - DeptLineEdit - QGraphicsView -
deptlineedit.h
-
-
- - -
diff --git a/WellLogUI/src/WellLogTableDialogNew.cpp b/WellLogUI/src/WellLogTableDialogNew.cpp index 6d05c25..93ccfb6 100644 --- a/WellLogUI/src/WellLogTableDialogNew.cpp +++ b/WellLogUI/src/WellLogTableDialogNew.cpp @@ -21,8 +21,6 @@ //#include "ConsoleOutputWidget.h" #include "ui_WellLogTableDialogNew.h" -#include "ShowCurve.h" -#include "CurvePropertyEdit.h" #include "CallManage.h" #include "ObjectID.h" //float保留4位小数 @@ -255,104 +253,6 @@ bool WellLogTableDialogNew::InitWellLog() return true; } - //swtichViewSize(); - int Type=0; - //if(TypeName=="波列数据")Type=1; - - QWidget* sPage=findChild("statisticsPage"); - QWidget* pPage=findChild("protoprtyPage"); - QWidget* cPage=findChild("computePage"); - QWidget* pvPage=findChild("curvePreViewPage"); - QTabWidget* tabWidget=findChild("tabWidget"); - if(NULL != sPage && NULL != pPage && NULL != cPage && NULL != pvPage) - { - if(NULL != tabWidget) - { - QScrollArea* sScrollArea=tabWidget->findChild("sScrollArea"); - QScrollArea* pScrollArea=tabWidget->findChild("pScrollArea"); - QScrollArea* cScrollArea=tabWidget->findChild("cscrollArea"); - QScrollArea* curveScrollArea=tabWidget->findChild("curveScrollArea"); - if(NULL != sScrollArea) - { - sScrollArea->setWidget(sPage); - } - - if(NULL != pScrollArea) - { - pScrollArea->setWidget(pPage); - //属性 - CCurvePropertyEditDlg *pDlg=new CCurvePropertyEditDlg(pPage, 0); - //connect(pDlg,SIGNAL(destroyed()),this,SLOT(slotCurvePropertyGc())); - pDlg->FileName=FileName; - pDlg->CurveName=CurveName; - pDlg->Type=Type; - //pDlg->init(); - pDlg->show(); - } - - if(NULL != cScrollArea) - { - if(Type==0)cScrollArea->setWidget(cPage); - } - - if(NULL != curveScrollArea) - { - curveScrollArea->setWidget(pvPage); - //曲线 - ShowCurve *pDlg=new ShowCurve(m_pUI->curvePreViewPage); - pDlg->setObjectName("curveView"); - pDlg->FileName=FileName; - pDlg->CurveName=CurveName; - pDlg->init(); - pDlg->setCurveTable(m_pUI->tableWidget); - pDlg->show(); - } - - sPage->show(); - pPage->show(); - pvPage->show(); - if(Type==0) - { - cPage->show();//whp change 2020.5.11 for 波列数据编辑和管理 波列曲线不计算 - } - - tabWidget->show(); - } - } - - -// if(m_pWellLogs.size()) -// { -// if ((m_pWellLogs[0]->GetTypeID()==GetClassID_WellLog()|| -// m_pWellLogs[0]->GetTypeID()==GetClassID_WellTrajectory())&&m_pWellLogs[0]->m_ObjectType!=TABLE_OBJECT)//非多维数据 -// { -// m_DataTyle=valid_NULL; -// m_gridData->initWellLogData(D_WellLogData ,m_pWellLogs); -// } -// else //多维数据 -// if (m_pWellLogs[0]->GetTypeID()==GetClassID_WellLogWavefile()) -// { -// m_DataTyle=valid_NULL; -// m_gridData->initMultWellLogData(D_MultWellLogData,m_pWellLogs); -// } -// else if (m_pWellLogs[0]->GetTypeID()==GetClassID_WellLogTDT()) -// { -// m_DataTyle=valid_NULL; -// m_gridData->initTDTWellLogData(D_TDTWellLogData,m_pWellLogs); -// } -// else if (m_pWellLogs[0]->GetTypeID()==GetClassID_WellLogFMT()) -// { -// m_DataTyle=valid_NULL; -// m_gridData->initFMTWellLogData(D_FMTWellLogData,m_pWellLogs); -// } -// else { -// m_gridData->addActonMenu(2); - -// m_DataTyle=valid_NULL; -// //表格数据 -// m_gridData->initTableWellLogData(D_TableWellLogData,m_pWellLogs); -// } -// } return true; } diff --git a/WellLogUI/src/WellLogUI.pro b/WellLogUI/src/WellLogUI.pro index d717546..fd3272f 100644 --- a/WellLogUI/src/WellLogUI.pro +++ b/WellLogUI/src/WellLogUI.pro @@ -48,14 +48,11 @@ CONFIG(debug, debug|release){ FORMS += \ AngleAdjTool.ui \ - CurvePropertyEdit.ui \ - ShowCurve.ui \ SmoothTool.ui \ WellDialog.ui \ WellLogProjectDialog.ui \ WellLogRoundDialog.ui \ - WellLogTableDialogNew.ui \ - editEnd.ui + WellLogTableDialogNew.ui HEADERS += \ ../../common/geometryutils.h \ @@ -73,23 +70,15 @@ HEADERS += \ ../include/completertextedit.h \ ../include/griddataadapter.h \ AngleAdjTool.h \ - CurvePropertyEdit.h \ - DrawCurveView.h \ - ShowCurve.h \ SmoothTool.h \ - TipPop.h \ - deptlineedit.h \ - editEnd.h + TipPop.h SOURCES += \ ../../common/geometryutils.cpp \ ../CallManage/CallManage.cpp \ AngleAdjTool.cpp \ CStringType.cpp \ - CurvePropertyEdit.cpp \ - DrawCurveView.cpp \ MyWelllogRound.cpp \ - ShowCurve.cpp \ SmoothTool.cpp \ TipPop.cpp \ WellDialog.cpp \ @@ -100,8 +89,6 @@ SOURCES += \ WellLogTableDialogNew.cpp \ assetcopy.cpp \ completertextedit.cpp \ - deptlineedit.cpp \ - editEnd.cpp \ griddataadapter.cpp INCLUDEPATH += ../include diff --git a/WellLogUI/src/deptlineedit.cpp b/WellLogUI/src/deptlineedit.cpp deleted file mode 100644 index db65239..0000000 --- a/WellLogUI/src/deptlineedit.cpp +++ /dev/null @@ -1,67 +0,0 @@ -#include "deptlineedit.h" -#include -#include -#include -#include -#include -#include -#include -#include - -DeptLineEdit::DeptLineEdit(QWidget *parent) - : QGraphicsView(parent) -{ - - init(); -} - -DeptLineEdit::~DeptLineEdit() -{ - -} -void DeptLineEdit::init() -{ - proxyWidget=NULL; - m_depWidget=NULL; - m_lbl=NULL; - this->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - this->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - - m_depWidget=new QWidget(); - m_depWidget->setFixedSize(200,35); - QHBoxLayout *hlayout=new QHBoxLayout(); - lineEdit_Depth=new QLineEdit(m_depWidget); - lineEdit_Depth->setFixedSize(100,30); - lineEdit_Depth->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); - lineEdit_Depth->setContentsMargins(0,0,0,0); - - lineEdit_Depth->setStyleSheet("border:1px solid gray;"); - m_lbl=new QLabel(m_depWidget); - m_lbl->setFixedHeight(30); - m_lbl->setText(tr("当前深度(m):"));// - hlayout->addStretch(1); - hlayout->addWidget(m_lbl,0,Qt::AlignHCenter); - hlayout->addWidget(lineEdit_Depth,1); - hlayout->addStretch(1); - hlayout->setContentsMargins(0,0,0,0); - m_lbl->setAlignment(Qt::AlignHCenter|Qt::AlignVCenter); - m_depWidget->setLayout(hlayout); - m_depWidget->setContentsMargins(0,0,0,0); - m_scene=new QGraphicsScene(); - this->setScene(m_scene); - -} -void DeptLineEdit::showEvent(QShowEvent *) -{ - m_scene->setSceneRect(rect()); - - m_depWidget->setFixedSize(height(),width()); - proxyWidget= m_scene->addWidget(m_depWidget); - this->setContentsMargins(0,0,0,0); - proxyWidget->setContentsMargins(0,0,0,0); - QPoint point=rect().center(); - //proxyWidget->translate(0,point.y()+height()/2.+1); - proxyWidget->setRotation(-90); - - -} diff --git a/WellLogUI/src/deptlineedit.h b/WellLogUI/src/deptlineedit.h deleted file mode 100644 index 336054d..0000000 --- a/WellLogUI/src/deptlineedit.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef DEPTLINEEDIT_H -#define DEPTLINEEDIT_H - -#include -#include -#include -#include -#include -#include - -#pragma execution_character_set("utf-8") - -/*自定义输入控件*/ -class DeptLineEdit : public QGraphicsView -{ - Q_OBJECT - -public: - DeptLineEdit(QWidget *parent); - ~DeptLineEdit(); - QLineEdit *lineEdit_Depth; - QLabel *m_lbl; - // QWidget interface -protected: - void showEvent(QShowEvent *); -private: - void init(); -private: - - QGraphicsScene *m_scene; -private: - QRect m_rect; - QGraphicsProxyWidget* proxyWidget; - QWidget *m_depWidget; - - -}; - -#endif // DEPTLINEEDIT_H diff --git a/WellLogUI/src/editEnd.cpp b/WellLogUI/src/editEnd.cpp deleted file mode 100644 index 28eb4f0..0000000 --- a/WellLogUI/src/editEnd.cpp +++ /dev/null @@ -1,45 +0,0 @@ -#include "editEnd.h" -#include "ui_editEnd.h" - -editEnd::editEnd(QDialog *parent) : - QDialog(parent), - ui(new Ui::editEnd) -{ - ui->setupUi(this); - ui->radioButton->setChecked(true); - - connect(ui->radioButton, SIGNAL(toggled(bool)), this, SLOT(smChooseChange_SLOT())); - connect(ui->radioButton_2, SIGNAL(toggled(bool)), this, SLOT(smChooseChange_SLOT())); - connect(ui->radioButton_3, SIGNAL(toggled(bool)), this, SLOT(smChooseChange_SLOT())); - connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(reject())); - connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(continueEdit_SLOT())); -} - -editEnd::~editEnd() -{ - delete ui; -} - -void editEnd::continueEdit_SLOT() -{ - emit sendContinueSignal(); -} - -int editEnd::SmoothResult(){ - if(ui->radioButton_3->isChecked()) - return 1; - else if(ui->radioButton_2->isChecked()) - return 2; - else - return 3; -} - -void editEnd::smChooseChange_SLOT() -{ - if(ui->radioButton_3->isChecked()) - emit sendSmData(1); - else if(ui->radioButton_2->isChecked()) - emit sendSmData(2); - else - emit sendSmData(3); -} diff --git a/WellLogUI/src/editEnd.h b/WellLogUI/src/editEnd.h deleted file mode 100644 index 1359c93..0000000 --- a/WellLogUI/src/editEnd.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef EDITEND_H -#define EDITEND_H - -#include -#pragma execution_character_set("utf-8") - -namespace Ui { -class editEnd; -} - -class editEnd : public QDialog -{ - Q_OBJECT - -signals: - void sendSmData(int); - void sendContinueSignal(); - -public: - explicit editEnd(QDialog *parent = 0); - ~editEnd(); - - int SmoothResult(); -private: - Ui::editEnd *ui; - -private slots: - void smChooseChange_SLOT(); - void continueEdit_SLOT(); - -}; - -#endif // EDITEND_H diff --git a/WellLogUI/src/editEnd.ui b/WellLogUI/src/editEnd.ui deleted file mode 100644 index bebb49e..0000000 --- a/WellLogUI/src/editEnd.ui +++ /dev/null @@ -1,184 +0,0 @@ - - - editEnd - - - - 0 - 0 - 391 - 213 - - - - Dialog - - - - - 10 - 70 - 371 - 81 - - - - - - - 平滑选项 - - - - - 20 - 20 - 331 - 41 - - - - - - - 3点平滑 - - - - - - - 5点平滑 - - - - - - - 不平滑 - - - - - - - - - - - - - 70 - 10 - 261 - 61 - - - - - 11 - - - - Qt::LeftToRight - - - 已完成编辑!是否替换原曲线? - - - - - - 10 - 160 - 369 - 41 - - - - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - 继续编辑 - - - - - - - - - - okButton - clicked() - editEnd - accept() - - - 351 - 38 - - - 233 - 29 - - - - - cancelButton - clicked() - editEnd - reject() - - - 330 - 66 - - - 197 - 125 - - - - -