From 837e8ce1e88caef1189734906f3f4f3409051120 Mon Sep 17 00:00:00 2001 From: zhaolei <353719554@qq.com> Date: Tue, 12 May 2026 10:39:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=AE=97=E6=B3=95=E6=97=A5?= =?UTF-8?q?=E5=BF=97=EF=BC=8C=E7=AE=97=E6=B3=95=E8=BF=90=E8=A1=8C=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E5=B7=A6=E4=BE=A7=E6=A0=91=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=B3=A2=E5=88=97=E5=B1=9E=E6=80=A7=E5=92=8C=E6=9B=B2=E7=BA=BF?= =?UTF-8?q?=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BaseFun/include/BaseFun.h | 3 + BaseFun/include/CallGlobalManage.h | 25 +++++- BaseFun/src/BaseFun.cpp | 6 +- DataMgr/src/AddCompCurveDlg.h | 2 +- DataMgr/src/ConsoleOutputWidget.cpp | 44 ---------- DataMgr/src/ConsoleOutputWidget.h | 56 ------------- DataMgr/src/CopyObjectDlg.h | 2 +- DataMgr/src/CurveComputerDlg.h | 2 +- DataMgr/src/CurvePropertyEdit.cpp | 79 ++++++++--------- DataMgr/src/CurvePropertyEdit.h | 2 +- DataMgr/src/DataMgr.pro | 2 - DataMgr/src/InDefTableDlg.h | 2 +- DataMgr/src/Statistics2Dlg.h | 2 +- DataMgr/src/StatisticsDlg.h | 2 +- DataMgr/src/TiShiDlg.h | 2 +- DataMgr/src/WaveComposeDlg.cpp | 9 +- DataMgr/src/WaveComposeDlg.h | 2 +- ModuleConsole/src/LogModuleParamers.cpp | 6 ++ ModuleConsole/src/WorkflowPluginControl.cpp | 4 +- WellLogModule/src/PELibraryModule.cpp | 1 + logPlus/ConsoleOutputWidget.cpp | 2 +- logPlus/ConsoleOutputWidget.h | 35 ++++---- logPlus/formdraw.cpp | 3 +- logPlus/mainwindow.cpp | 11 +++ logPlus/mainwindow.h | 2 + logPlus/qtprojectwidgets.cpp | 93 +++++++++++++++++++-- logPlus/qtprojectwidgets.h | 3 +- 27 files changed, 213 insertions(+), 189 deletions(-) delete mode 100644 DataMgr/src/ConsoleOutputWidget.cpp delete mode 100644 DataMgr/src/ConsoleOutputWidget.h diff --git a/BaseFun/include/BaseFun.h b/BaseFun/include/BaseFun.h index 36e2b1f..c9c3b67 100644 --- a/BaseFun/include/BaseFun.h +++ b/BaseFun/include/BaseFun.h @@ -9,6 +9,7 @@ #include "BaseFunExport.h" #include "CStringType.h" //#include "ObjectArchive.h" +#include "CallGlobalManage.h" #ifndef NULL #define NULL 0 #endif @@ -32,6 +33,7 @@ enum enumFilterType fltUDef, fltNone, }; + BASEFUN_EXPORT float Filt(float* b, float* Fil); BASEFUN_EXPORT void FilterCurve( @@ -124,6 +126,7 @@ BASEFUN_EXPORT int cubspl (float x[],float y[],int nx,float c[]); BASEFUN_EXPORT int spline(float x[],float y[], int n,float yp1, float ypn,float y2[]); BASEFUN_EXPORT int intpol (float *x,float *y,int n,int m,float *u,float *v,int mode); BASEFUN_EXPORT QStatusBar* GetStatusBar(); +BASEFUN_EXPORT void AppendConsole(Priority priority,const QString output); class DOUBLEPROPERTY { public: diff --git a/BaseFun/include/CallGlobalManage.h b/BaseFun/include/CallGlobalManage.h index 15b0106..109238b 100644 --- a/BaseFun/include/CallGlobalManage.h +++ b/BaseFun/include/CallGlobalManage.h @@ -10,6 +10,24 @@ #include #include "BaseFunExport.h" + +enum Priority +{ + PAI_FATAL = 1 << 4, + PAI_ERROR = 1 << 3, + PAI_WARN = 1 << 2, + PAI_INFO = 1 << 1, + PAI_DEBUG = 1 << 0, + PAI_BASE = 1, + PAI_FATAL_UP = PAI_FATAL, + PAI_ERROR_UP = PAI_ERROR | PAI_FATAL_UP, + PAI_WARN_UP = PAI_WARN | PAI_ERROR_UP, + PAI_INFO_UP = PAI_INFO | PAI_WARN_UP, + PAI_DEBUG_UP = PAI_DEBUG | PAI_INFO_UP, + PAI_ALL = PAI_DEBUG_UP, + PAI_DEFAULT = PAI_INFO_UP, +}; + class BASEFUN_EXPORT CallGlobalManage : public QObject { Q_OBJECT @@ -21,9 +39,10 @@ public: static CallGlobalManage* getInstance(); signals: - - // 添加对象通知strName:发送模块名字(如DataMgr) strSlfName:Slf文件名 mapObject:对象类型(如curveObject)和对象名列表(如AC、BS) - void sig_Notice_AddObject(QString strName, QString strSlfName, QMap> mapObject); + // 显示日志信息 + void sig_AppendConsole(Priority priority ,const QString output); + // 添加对象通知strName:发送模块名字(如DataMgr) strSlfName:Slf文件名,对象名列表(如AC、BS) + void sig_Notice_AddObject(QString strName, QString strSlfName, QStringList listObject); public: Q_DISABLE_COPY(CallGlobalManage); diff --git a/BaseFun/src/BaseFun.cpp b/BaseFun/src/BaseFun.cpp index 0c25e7f..74dbc41 100644 --- a/BaseFun/src/BaseFun.cpp +++ b/BaseFun/src/BaseFun.cpp @@ -114,7 +114,7 @@ void CalTextWrap( QString &SrcText,double width,QFont font,QString &OutText,doub #include #include #include - +#include "CallGlobalManage.h" using namespace std; /* class FormulaParser { @@ -3163,3 +3163,7 @@ QStatusBar* GetStatusBar() return static_cast(pStatusBar); } +void AppendConsole(Priority priority,const QString output) +{ + emit CallGlobalManage::getInstance()->sig_AppendConsole(priority, output); +} diff --git a/DataMgr/src/AddCompCurveDlg.h b/DataMgr/src/AddCompCurveDlg.h index 854426b..58df296 100644 --- a/DataMgr/src/AddCompCurveDlg.h +++ b/DataMgr/src/AddCompCurveDlg.h @@ -2,7 +2,7 @@ #pragma warning(push,0) #include #include -#include "ConsoleOutputWidget.h" +// #include "ConsoleOutputWidget.h" #include "ui_AddCompCurve.h" #include "memrdwt.h" #include "OSGFramework.h" diff --git a/DataMgr/src/ConsoleOutputWidget.cpp b/DataMgr/src/ConsoleOutputWidget.cpp deleted file mode 100644 index e6f6f53..0000000 --- a/DataMgr/src/ConsoleOutputWidget.cpp +++ /dev/null @@ -1,44 +0,0 @@ -#include "ConsoleOutputWidget.h" -#include -#include -//#include "geometryutils.h" - -void AppendConsole(Priority priority, const QString &output); - -ConsoleOutputWidget::ConsoleOutputWidget(const QString &title, QWidget *parent , Qt::WindowFlags flags ) - :QDockWidget(title,parent,flags) -{ - Console=new QTextEdit(this); - this->setWidget(Console); - Console->document()->setMaximumBlockCount(5000); - //Console->setEnabled(false); -} - -ConsoleOutputWidget::~ConsoleOutputWidget() -{ - QVector aa; - aa.append(Console); - qDeleteAll(aa); -} - -ConsoleOutputWidget* ConsoleOutService() -{ - static ConsoleOutputWidget* singleInstance= new ConsoleOutputWidget("", nullptr, 0); - return singleInstance; -} - -void ConsoleOutputWidget::AppendConsole(QColor c, const QString &output) -{ - Console->setTextColor(c); - Console->verticalScrollBar()->setValue(Console->verticalScrollBar()->maximum()); - Console->insertPlainText("["+QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss")+"]"+output); - Console->insertPlainText("\n"); -} - -void AppendConsole(Priority priority,const QString &output) -{ - ConsoleOutputWidget *Console= ConsoleOutService(); - if(priority==PAI_ERROR) Console->AppendConsole(Qt::red,output); - else if(priority==PAI_WARN) Console->AppendConsole(Qt::darkYellow, output); - else if(priority==PAI_INFO) Console->AppendConsole(Qt::blue, output); -} diff --git a/DataMgr/src/ConsoleOutputWidget.h b/DataMgr/src/ConsoleOutputWidget.h deleted file mode 100644 index bda8771..0000000 --- a/DataMgr/src/ConsoleOutputWidget.h +++ /dev/null @@ -1,56 +0,0 @@ -/** -* @file ConsoleOutputWidget.h -* @brief 统一输出服务,采用了singleton模式 -* @date 2015-1-18 -* @author: aiya -*/ -#pragma once -#include -#include - -enum Priority -{ - PAI_FATAL = 1 << 4, - PAI_ERROR = 1 << 3, - PAI_WARN = 1 << 2, - PAI_INFO = 1 << 1, - PAI_DEBUG = 1 << 0, - PAI_BASE = 1, - PAI_FATAL_UP = PAI_FATAL, - PAI_ERROR_UP = PAI_ERROR | PAI_FATAL_UP, - PAI_WARN_UP = PAI_WARN | PAI_ERROR_UP, - PAI_INFO_UP = PAI_INFO | PAI_WARN_UP, - PAI_DEBUG_UP = PAI_DEBUG | PAI_INFO_UP, - PAI_ALL = PAI_DEBUG_UP, - PAI_DEFAULT = PAI_INFO_UP, -}; - -/** -* @class ConsoleOutputWidget -* @brief 统一输出服务,在界面输出的同时,调用了底层的日志写出程序 -* @useage - AppendConsole(PAI_ERROR,"测试输出"); - AppendConsole(PAI_INFO,"测试输出"); -* @date 2015-1-18 -* @author: aiya -*/ -class ConsoleOutputWidget:public QDockWidget -{ - Q_OBJECT -public: - ConsoleOutputWidget(const QString &title, QWidget *parent = 0, Qt::WindowFlags flags = 0); - ~ConsoleOutputWidget(); - /** - * @function AppendConsole - * @brief 输出日志 - * @param priority 日志输出级别 - * @param output 要输出的日志内容 - */ - void AppendConsole(QColor c,const QString &output); -private: - - QTextEdit * Console; -}; - -extern ConsoleOutputWidget* ConsoleOutService(); - diff --git a/DataMgr/src/CopyObjectDlg.h b/DataMgr/src/CopyObjectDlg.h index 0032b35..388fa67 100644 --- a/DataMgr/src/CopyObjectDlg.h +++ b/DataMgr/src/CopyObjectDlg.h @@ -4,7 +4,7 @@ #pragma warning(push,0) #include #include -#include "ConsoleOutputWidget.h" +// #include "ConsoleOutputWidget.h" #include "ui_CopyObject.h" #include "memrdwt.h" #include "OSGFramework.h" diff --git a/DataMgr/src/CurveComputerDlg.h b/DataMgr/src/CurveComputerDlg.h index 2da16a3..1aa190d 100644 --- a/DataMgr/src/CurveComputerDlg.h +++ b/DataMgr/src/CurveComputerDlg.h @@ -2,7 +2,7 @@ #pragma warning(push,0) #include #include -#include "ConsoleOutputWidget.h" +// #include "ConsoleOutputWidget.h" #include "ui_CurveComputer.h" #include "OSGFramework.h" #pragma warning(pop) diff --git a/DataMgr/src/CurvePropertyEdit.cpp b/DataMgr/src/CurvePropertyEdit.cpp index ec4a661..449f260 100644 --- a/DataMgr/src/CurvePropertyEdit.cpp +++ b/DataMgr/src/CurvePropertyEdit.cpp @@ -10,6 +10,7 @@ #include "LogIO.h" // #include "ObjProject.h" #include "Well.h" +#include "geometryutils.h" #pragma warning(pop) using namespace pai::ios::welllog; BEGIN_OSGGRAPHICS_NAMESPACE @@ -77,7 +78,7 @@ void CCurvePropertyEditDlg::init() m_pUI->PropertyTab->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()); + int index=logio.OpenCurve(UTF8ToGBK(CurveName)); if(index<0) return; logio.GetCurveInfo(index,&info); logio.CloseCurve(index); @@ -94,18 +95,18 @@ void CCurvePropertyEditDlg::init() 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->setText((GBKToUTF8(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->setText(GBKToUTF8(info.AliasName)); lineEdit_CurveName_2->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_CurveUnit->setText(QLatin1String(info.Unit)); + lineEdit_CurveUnit->setText(GBKToUTF8(info.Unit)); lineEdit_CurveUnit->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_CurveUnit_2->setText(QString::fromLocal8Bit(info.AliasUnit));//(QLatin1String(info.AliasUnit)); + lineEdit_CurveUnit_2->setText(GBKToUTF8(info.AliasUnit));//(QLatin1String(info.AliasUnit)); lineEdit_CurveUnit_2->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_DepthUnit->setText(QLatin1String(info.DepthUnit)); + lineEdit_DepthUnit->setText(GBKToUTF8(info.DepthUnit)); lineEdit_DepthUnit->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_DepthUnit_2->setText(QString::fromLocal8Bit(info.DepthHZUnit)); + lineEdit_DepthUnit_2->setText(GBKToUTF8(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)); @@ -114,7 +115,7 @@ void CCurvePropertyEditDlg::init() 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_DataType->setText(GBKToUTF8(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)); @@ -125,7 +126,7 @@ void CCurvePropertyEditDlg::init() } else { - int index=logio.OpenWave(CurveName.toStdString().c_str()); + int index=logio.OpenWave(UTF8ToGBK(CurveName)); if(index<0) return; Slf_WAVE info; logio.GetWaveInfo(index,&info); @@ -144,17 +145,17 @@ void CCurvePropertyEditDlg::init() 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->setText((GBKToUTF8(info.Name))); lineEdit_CurveName->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_CurveName_2->setText(QString::fromLocal8Bit(info.AliasName)); + lineEdit_CurveName_2->setText(GBKToUTF8(info.AliasName)); lineEdit_CurveName_2->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_CurveUnit->setText(QLatin1String(info.Unit)); + lineEdit_CurveUnit->setText(GBKToUTF8(info.Unit)); lineEdit_CurveUnit->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_CurveUnit_2->setText(QString::fromLocal8Bit(info.AliasUnit)); + lineEdit_CurveUnit_2->setText(GBKToUTF8(info.AliasUnit)); lineEdit_CurveUnit_2->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_DepthUnit->setText(QLatin1String(info.DepthUnit)); + lineEdit_DepthUnit->setText(GBKToUTF8(info.DepthUnit)); lineEdit_DepthUnit->setValidator(new QRegExpValidator(regExp,this)); - lineEdit_DepthUnit_2->setText(QString::fromLocal8Bit(info.DepthHZUnit)); + lineEdit_DepthUnit_2->setText(GBKToUTF8(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)); @@ -163,7 +164,7 @@ void CCurvePropertyEditDlg::init() 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_DataType->setText(GBKToUTF8(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)); @@ -188,13 +189,13 @@ void CCurvePropertyEditDlg::init() 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->setText(GBKToUTF8(info.TimeName)); lineEdit2_Name->setValidator(new QRegExpValidator(regExp,this)); - lineEdit2_Name1->setText(QString::fromLocal8Bit(info.TimeHZName)); + lineEdit2_Name1->setText(GBKToUTF8(info.TimeHZName)); lineEdit2_Name1->setValidator(new QRegExpValidator(regExp,this)); - lineEdit2_Unit->setText(QLatin1String(info.TimeUnit)); + lineEdit2_Unit->setText(GBKToUTF8(info.TimeUnit)); lineEdit2_Unit->setValidator(new QRegExpValidator(regExp,this)); - lineEdit2_Unit1->setText(QString::fromLocal8Bit(info.TimeHZUnit)); + lineEdit2_Unit1->setText(GBKToUTF8(info.TimeHZUnit)); lineEdit2_Unit1->setValidator(new QRegExpValidator(regExp,this)); lineEdit2_Start->setText(QString("%1").arg(info.StartTime)); @@ -253,7 +254,7 @@ void CCurvePropertyEditDlg::slotSave() CLogIO logio(FileName.toStdString().c_str(),(unsigned int)CLogIO::modeReadWrite); if(Name!=CurveName) { - if(logio.FindObjectIndex(Name.toStdString().c_str())>=0) + if(logio.FindObjectIndex(UTF8ToGBK(Name))>=0) { QMessageBox::warning(this,"警告!","名称不能重复!"); return; @@ -264,7 +265,7 @@ void CCurvePropertyEditDlg::slotSave() if(Type==0) { Slf_CURVE info; - int index=logio.OpenCurve(CurveName.toStdString().c_str()); + int index=logio.OpenCurve(UTF8ToGBK(CurveName)); if(index<0) { return; } @@ -277,20 +278,20 @@ void CCurvePropertyEditDlg::slotSave() 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.Name,UTF8ToGBK(lineEdit_CurveName->text())); + strcpy(info.AliasName,UTF8ToGBK(lineEdit_CurveName_2->text())); //汉字写回去不对了呀?????? - 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()); + strcpy(info.Unit,UTF8ToGBK(lineEdit_CurveUnit->text())); + strcpy(info.AliasUnit,UTF8ToGBK(lineEdit_CurveUnit_2->text())); + strcpy(info.DepthUnit,UTF8ToGBK(lineEdit_DepthUnit->text())); + strcpy(info.DepthHZUnit,UTF8ToGBK(lineEdit_DepthUnit_2->text())); info.DefVal=lineEdit_DefVal->text().toFloat(); logio.SetCurveInfo(index,&info); logio.CloseCurve(index); } else { - int index=logio.OpenWave(CurveName.toStdString().c_str()); + int index=logio.OpenWave(UTF8ToGBK(CurveName)); if(index<0) return; Slf_WAVE info; logio.GetWaveInfo(index,&info); @@ -303,12 +304,12 @@ void CCurvePropertyEditDlg::slotSave() 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()); + strcpy(info.Name,UTF8ToGBK(lineEdit_CurveName->text())); + strcpy(info.AliasName,UTF8ToGBK(lineEdit_CurveName_2->text())); + strcpy(info.Unit,UTF8ToGBK(lineEdit_CurveUnit->text())); + strcpy(info.AliasUnit,UTF8ToGBK(lineEdit_CurveUnit_2->text())); + strcpy(info.DepthUnit,UTF8ToGBK(lineEdit_DepthUnit->text())); + strcpy(info.DepthHZUnit,UTF8ToGBK(lineEdit_DepthUnit_2->text())); info.DefVal=lineEdit_DefVal->text().toFloat(); QLineEdit *lineEdit2_Name=tab2->findChild("lineEdit2_Name"); @@ -322,10 +323,10 @@ void CCurvePropertyEditDlg::slotSave() 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()); + strcpy(info.TimeName,UTF8ToGBK(lineEdit2_Name->text())); + strcpy(info.TimeHZName,UTF8ToGBK(lineEdit2_Name1->text())); + strcpy(info.TimeUnit,UTF8ToGBK(lineEdit2_Unit->text())); + strcpy(info.TimeHZUnit,UTF8ToGBK(lineEdit2_Unit1->text())); info.StartTime=lineEdit2_Start->text().toFloat(); info.TimeLevel=lineEdit2_Rlev2->text().toFloat(); info.ArrayNum=lineEdit2_ArrayNum->text().toInt(); diff --git a/DataMgr/src/CurvePropertyEdit.h b/DataMgr/src/CurvePropertyEdit.h index bb339ed..53913be 100644 --- a/DataMgr/src/CurvePropertyEdit.h +++ b/DataMgr/src/CurvePropertyEdit.h @@ -3,7 +3,7 @@ #include #include #include -#include "ConsoleOutputWidget.h" +// #include "ConsoleOutputWidget.h" #include "ui_CurvePropertyEdit.h" #include "OSGFramework.h" #pragma warning(pop) diff --git a/DataMgr/src/DataMgr.pro b/DataMgr/src/DataMgr.pro index ab5368e..6c00411 100644 --- a/DataMgr/src/DataMgr.pro +++ b/DataMgr/src/DataMgr.pro @@ -92,7 +92,6 @@ HEADERS += \ Statistics2Dlg.h \ StatisticsDlg.h \ TiShiDlg.h\ - ConsoleOutputWidget.h \ WaveComposeDlg.h \ cdialog.h \ dataslothelper.h \ @@ -123,7 +122,6 @@ SOURCES += \ Statistics2Dlg.cpp \ StatisticsDlg.cpp \ TiShiDlg.cpp\ - ConsoleOutputWidget.cpp \ WaveComposeDlg.cpp \ cdialog.cpp \ dataslothelper.cpp \ diff --git a/DataMgr/src/InDefTableDlg.h b/DataMgr/src/InDefTableDlg.h index 188788a..127c8d5 100644 --- a/DataMgr/src/InDefTableDlg.h +++ b/DataMgr/src/InDefTableDlg.h @@ -2,7 +2,7 @@ #pragma warning(push,0) #include #include -#include "ConsoleOutputWidget.h" +// #include "ConsoleOutputWidget.h" #include "ui_InDefTable.h" #include "LogIO.h" // #include "ObjProject.h" diff --git a/DataMgr/src/Statistics2Dlg.h b/DataMgr/src/Statistics2Dlg.h index e794f85..1f10704 100644 --- a/DataMgr/src/Statistics2Dlg.h +++ b/DataMgr/src/Statistics2Dlg.h @@ -2,7 +2,7 @@ #pragma warning(push,0) #include #include -#include "ConsoleOutputWidget.h" +// #include "ConsoleOutputWidget.h" #include "ui_Statistics2.h" #include "LogIO.h" #include "view.h"//ll diff --git a/DataMgr/src/StatisticsDlg.h b/DataMgr/src/StatisticsDlg.h index c079270..b7b7c69 100644 --- a/DataMgr/src/StatisticsDlg.h +++ b/DataMgr/src/StatisticsDlg.h @@ -2,7 +2,7 @@ #pragma warning(push,0) #include #include -#include "ConsoleOutputWidget.h" +// #include "ConsoleOutputWidget.h" #include "ui_Statistics.h" #include "LogIO.h" #include "view.h"//ll diff --git a/DataMgr/src/TiShiDlg.h b/DataMgr/src/TiShiDlg.h index 9dac210..ae9b90d 100644 --- a/DataMgr/src/TiShiDlg.h +++ b/DataMgr/src/TiShiDlg.h @@ -2,7 +2,7 @@ #pragma warning(push,0) #include #include -#include "ConsoleOutputWidget.h" +// #include "ConsoleOutputWidget.h" #include "ui_TiShi.h" #include "OSGFramework.h" #pragma warning(pop) diff --git a/DataMgr/src/WaveComposeDlg.cpp b/DataMgr/src/WaveComposeDlg.cpp index d5eee15..8a7a4ac 100644 --- a/DataMgr/src/WaveComposeDlg.cpp +++ b/DataMgr/src/WaveComposeDlg.cpp @@ -263,11 +263,10 @@ void CWaveComposeDlg::slotSave() delete []value; QMessageBox::warning(NULL,tr("提示"),"合成阵列曲线成功!"); - QMap> mapShowObject; - QList lisObject; - lisObject.append(""); - mapShowObject.insert("TDTObject",lisObject); - emit CallGlobalManage::getInstance()->sig_Notice_AddObject("DataMgr",FileName,mapShowObject); + + QStringList lisObject; + lisObject.append(NewWaveInfo.Name); + emit CallGlobalManage::getInstance()->sig_Notice_AddObject("DataMgr",FileName,lisObject); accept(); /*pai::graphics::*/CDataImport::ChangetoSlf(FileName,NULL); diff --git a/DataMgr/src/WaveComposeDlg.h b/DataMgr/src/WaveComposeDlg.h index 943a76e..491606b 100644 --- a/DataMgr/src/WaveComposeDlg.h +++ b/DataMgr/src/WaveComposeDlg.h @@ -2,7 +2,7 @@ #pragma warning(push,0) #include #include -#include "ConsoleOutputWidget.h" +// #include "ConsoleOutputWidget.h" #include "ui_WaveCompose.h" #include "MemRdWt.h" #include "OSGFramework.h" diff --git a/ModuleConsole/src/LogModuleParamers.cpp b/ModuleConsole/src/LogModuleParamers.cpp index f3a94b6..e0f743f 100644 --- a/ModuleConsole/src/LogModuleParamers.cpp +++ b/ModuleConsole/src/LogModuleParamers.cpp @@ -742,6 +742,7 @@ void CModuleParamers::onCurrentLineHighLight() } void CModuleParamers::slotRunCurrentZone() { + AppendConsole(PAI_INFO,"开始执行...."); CModuleConsole*pWorkflowConsole=m_pModuleConsole; if(!pWorkflowConsole) return; SetWorkflowConsole(pWorkflowConsole); @@ -760,8 +761,10 @@ void CModuleParamers::slotRunCurrentZone() std::string strName = pModuleInfo->GetName(); double dep1=-99999,dep2=-99999; char *Zone1=NULL; + AppendConsole(PAI_INFO, QString::fromStdString(pModule->GetMetaData()->GetName())+"开始执行...."); if(!Zone.isEmpty()) Zone1=(char*)Zone.toStdString().c_str(); int i=(int)pWelllogModule->Run(sdep,edep,Zone1); + AppendConsole(PAI_INFO, QString::fromStdString(pModule->GetMetaData()->GetName())+"执行完成"); } bool CModuleParamers::GetCurrentZone(float &sdep,float &edep) { @@ -782,6 +785,7 @@ void CModuleParamers::slotRun() // pWelllogModule = dynamic_cast(pWorkflowDataModel->m_pModule); // } + AppendConsole(PAI_INFO,"开始执行...."); QString Zone = ""; pai::workflow::CModuleInformation * pModuleInfo = m_pCurrentModuleInfo; pai::module::CModule* pModule = pModuleInfo->GetModule(); @@ -789,8 +793,10 @@ void CModuleParamers::slotRun() std::string strName = pModuleInfo->GetName(); double dep1=-99999,dep2=-99999; char *Zone1=NULL; + AppendConsole(PAI_INFO, QString::fromStdString(pModule->GetMetaData()->GetName())+"开始执行...."); if(!Zone.isEmpty()) Zone1=(char*)Zone.toStdString().c_str(); int i=(int)pWelllogModule->Run(dep1,dep2,Zone1); + AppendConsole(PAI_INFO, QString::fromStdString(pModule->GetMetaData()->GetName())+"执行完成"); } // void CModuleParamers::slotOpenParameterEditor(pai::workflow::CModuleInformation* pInfo, bool IsModuleReadOnly) // { diff --git a/ModuleConsole/src/WorkflowPluginControl.cpp b/ModuleConsole/src/WorkflowPluginControl.cpp index 1f50105..8c3c647 100644 --- a/ModuleConsole/src/WorkflowPluginControl.cpp +++ b/ModuleConsole/src/WorkflowPluginControl.cpp @@ -2334,7 +2334,7 @@ void WorkflowPluginControl::SlotRunWelllogModule() // return; // }*/ // m_pWellLogWorkflowRunner->GetRunTimeContext()->SetCurrentWellRoundPath(pWorkflowDataModel->GetCurrentWellRoundPath()); - // AppendConsole(pai::log::PAI_INFO,"开始执行...."); + AppendConsole(PAI_INFO,"开始执行...."); m_pWellLogWorkflowRunner->RunWorkFlow(pWorkflowDataModel); } } @@ -2352,7 +2352,7 @@ void WorkflowPluginControl::SlotRunWelllogModule(float sdep,float edep) // return; // }*/ m_pWellLogWorkflowRunner->GetRunTimeContext()->SetCurrentWellRoundPath(pWorkflowDataModel->GetCurrentWellRoundPath()); - // AppendConsole(pai::log::PAI_INFO,"开始执行...."); + AppendConsole(PAI_INFO,"开始执行...."); m_pWellLogWorkflowRunner->RunWorkFlow(pWorkflowDataModel,sdep,edep); } } diff --git a/WellLogModule/src/PELibraryModule.cpp b/WellLogModule/src/PELibraryModule.cpp index beab26a..455e2cc 100644 --- a/WellLogModule/src/PELibraryModule.cpp +++ b/WellLogModule/src/PELibraryModule.cpp @@ -1057,6 +1057,7 @@ UINT PELibraryModule::ProcessDLL1(LPVOID pPram,float sdep,float edep)//只用公 Names.append(name); } m_pMemRdWt->Close(); + emit CallGlobalManage::getInstance()->sig_Notice_AddObject("WellLogModule",slf,Names); // for(int i=0;iinsertPlainText("\n"); } -void AppendConsole(Priority priority,const QString &output) +void ConsoleOutputWidget::AppendConsole(Priority priority,const QString &output) { ConsoleOutputWidget *Console= ConsoleOutService(); if(priority==PAI_ERROR) Console->AppendConsole(Qt::red,output); diff --git a/logPlus/ConsoleOutputWidget.h b/logPlus/ConsoleOutputWidget.h index bda8771..0fb528d 100644 --- a/logPlus/ConsoleOutputWidget.h +++ b/logPlus/ConsoleOutputWidget.h @@ -7,23 +7,23 @@ #pragma once #include #include - -enum Priority -{ - PAI_FATAL = 1 << 4, - PAI_ERROR = 1 << 3, - PAI_WARN = 1 << 2, - PAI_INFO = 1 << 1, - PAI_DEBUG = 1 << 0, - PAI_BASE = 1, - PAI_FATAL_UP = PAI_FATAL, - PAI_ERROR_UP = PAI_ERROR | PAI_FATAL_UP, - PAI_WARN_UP = PAI_WARN | PAI_ERROR_UP, - PAI_INFO_UP = PAI_INFO | PAI_WARN_UP, - PAI_DEBUG_UP = PAI_DEBUG | PAI_INFO_UP, - PAI_ALL = PAI_DEBUG_UP, - PAI_DEFAULT = PAI_INFO_UP, -}; +#include "BaseFun.h" +// enum Priority +// { +// PAI_FATAL = 1 << 4, +// PAI_ERROR = 1 << 3, +// PAI_WARN = 1 << 2, +// PAI_INFO = 1 << 1, +// PAI_DEBUG = 1 << 0, +// PAI_BASE = 1, +// PAI_FATAL_UP = PAI_FATAL, +// PAI_ERROR_UP = PAI_ERROR | PAI_FATAL_UP, +// PAI_WARN_UP = PAI_WARN | PAI_ERROR_UP, +// PAI_INFO_UP = PAI_INFO | PAI_WARN_UP, +// PAI_DEBUG_UP = PAI_DEBUG | PAI_INFO_UP, +// PAI_ALL = PAI_DEBUG_UP, +// PAI_DEFAULT = PAI_INFO_UP, +// }; /** * @class ConsoleOutputWidget @@ -47,6 +47,7 @@ public: * @param output 要输出的日志内容 */ void AppendConsole(QColor c,const QString &output); + static void AppendConsole(Priority priority,const QString &output); private: QTextEdit * Console; diff --git a/logPlus/formdraw.cpp b/logPlus/formdraw.cpp index 9585810..50ab8a8 100644 --- a/logPlus/formdraw.cpp +++ b/logPlus/formdraw.cpp @@ -13,6 +13,7 @@ #include "PropertyWidget.h" #include "DrawTvd.h" #include "DepthProgress.h" +#include "CallGlobalManage.h" //以下参数从配置文件读取 extern int g_iOneWidth; //道宽 @@ -29,7 +30,7 @@ extern QString g_prjname; extern int g_iSupport3D; -extern void AppendConsole(Priority priority, const QString &output); +// extern void AppendConsole(Priority priority, const QString &output); //曲线绘制(多个) FormDraw::FormDraw(QWidget *parent, QString strSlfName, QString strWellName, QString strTrackName) : diff --git a/logPlus/mainwindow.cpp b/logPlus/mainwindow.cpp index 4e05acd..7aecd9a 100644 --- a/logPlus/mainwindow.cpp +++ b/logPlus/mainwindow.cpp @@ -26,6 +26,7 @@ #include "wellloginformation.h" #include "mainwindowsplitter.h" #include "ConvertorManager.h" +#include "CallGlobalManage.h" using namespace pai::gui; // @@ -109,6 +110,10 @@ MainWindow::MainWindow(QWidget *parent) : //关联信号槽,测井信息表数据查看 connect(CallManage::getInstance(), SIGNAL(sig_WelllogInformation(QString)), this, SLOT(s_WelllogInformation(QString))); + + //向左侧树图,刷新新加对象 + connect(CallGlobalManage::getInstance(), SIGNAL(sig_AppendConsole(Priority, const QString)), this, SLOT(s_AppendConsole(Priority, const QString))); + ConvertorManager::GetInstance().LoadAllConvertorPlugin(); QTimer::singleShot(100, this, [=]() { QRect geoRect = m_centerWidgets->geometry(); @@ -832,3 +837,9 @@ void MainWindow::s_WelllogInformation(QString strSlfName) return; } } + +void MainWindow::s_AppendConsole(Priority priority ,const QString output)//日志 +{ + // m_consoleOutputWidget->AppendConsole(priority, output); + ConsoleOutputWidget::AppendConsole(priority, output); +} diff --git a/logPlus/mainwindow.h b/logPlus/mainwindow.h index 0290d16..e0fe874 100644 --- a/logPlus/mainwindow.h +++ b/logPlus/mainwindow.h @@ -15,6 +15,7 @@ #include "ConsoleOutputWidget.h" #include "PropertyWidget.h" #include "CallManage.h" +#include "CallGlobalManage.h" #pragma execution_character_set("utf-8") @@ -95,6 +96,7 @@ public slots: void s_ShowTable(QString strSlfName, QString strName);//表格数据查看 void s_ShowWave(QString strSlfName, QString strName); //波列数据查看 void s_WelllogInformation(QString strSlfName);//编辑测井信息 + void s_AppendConsole(Priority priority ,const QString output);//日志 void slot_PluginActionFunc(); diff --git a/logPlus/qtprojectwidgets.cpp b/logPlus/qtprojectwidgets.cpp index aac6c85..0143366 100644 --- a/logPlus/qtprojectwidgets.cpp +++ b/logPlus/qtprojectwidgets.cpp @@ -29,7 +29,7 @@ #include "CallGlobalManage.h" extern QString g_prjname; -extern void AppendConsole(Priority priority, const QString &output); +// extern void AppendConsole(Priority priority, const QString &output); QtProjectWidgets::QtProjectWidgets(QWidget *parent) : QWidget(parent) @@ -69,7 +69,7 @@ QtProjectWidgets::QtProjectWidgets(QWidget *parent) connect(CallManage::getInstance(), SIGNAL(sig_AddGujingToTree(QString,QString,QString)), this, SLOT(s_AddGujingToTree(QString,QString,QString))); //向左侧树图,刷新新加对象 - connect(CallGlobalManage::getInstance(), SIGNAL(sig_Notice_AddObject(QString, QString, QMap>)), this, SLOT(s_Notice_AddObject(QString, QString, QMap>))); + connect(CallGlobalManage::getInstance(), SIGNAL(sig_Notice_AddObject(QString, QString, QStringList)), this, SLOT(s_Notice_AddObject(QString, QString, QStringList))); //初始化树形控件中的右键菜单 initMenu(); @@ -865,6 +865,11 @@ void QtProjectWidgets::initCurveObjectTreeMenu(QMenu *menu, QTreeWidget *treeWid connect(action_WaveCompose, SIGNAL(triggered()), this, SLOT(onWaveCompose())); menu->addAction(action_WaveCompose); + QAction* action_InfoEdit = new QAction("属性编辑", treeWidget); + action_InfoEdit->setIcon(QIcon(GetImagePath() + "icon/AddToTrack.png")); + connect(action_InfoEdit, SIGNAL(triggered()), this, SLOT(onInfoEdit())); + menu->addAction(action_InfoEdit); + QAction* action_Copy = new QAction("复制", treeWidget); action_Copy->setIcon(QIcon(GetImagePath() + "icon/Copy.png")); // 设置图标":/image/u174.png" connect(action_Copy, SIGNAL(triggered()), this, SLOT(onCopySelObject())); @@ -894,6 +899,11 @@ void QtProjectWidgets::initWaveObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidg connect(action_DepthShift, SIGNAL(triggered(bool)), this, SLOT(onDepthShift(bool))); menu->addAction(action_DepthShift); + QAction* action_InfoEdit = new QAction("属性编辑", treeWidget); + action_InfoEdit->setIcon(QIcon(GetImagePath() + "icon/AddToTrack.png")); + connect(action_InfoEdit, SIGNAL(triggered()), this, SLOT(onInfoEdit())); + menu->addAction(action_InfoEdit); + QAction* action_Copy = new QAction("复制", treeWidget); action_Copy->setIcon(QIcon(GetImagePath() + "icon/Copy.png")); // 设置图标":/image/u174.png" connect(action_Copy, SIGNAL(triggered()), this, SLOT(onCopySelObject())); @@ -1296,6 +1306,24 @@ void QtProjectWidgets::onWaveCompose(bool checked) // pwelllog->SetWell(pObjWellLog->GetWelllogRound()->GetWell()); } +void QtProjectWidgets::onInfoEdit(bool checked)//whp add 2019.12.27 曲线属性编辑 +{ + if (ui->treeWidget->selectedItems().size()>1) + return; + QTreeWidgetItem *pItem = *(ui->treeWidget->selectedItems().begin()); + QString strTreeTag = pItem->data(0, Qt::UserRole).toString(); + + CString TypeName = pItem->data(0, Qt::UserRole).toString();; + int Type=0; + if(TypeName=="waveObject")Type=1; + QString CurveName=pItem->text(0); + QString FileName=pItem->data(0, Qt::UserRole+1).toString(); + if (NULL==magr) + { + return; + } + magr->CurvePropertyEdit(Type,FileName,CurveName); +} void QtProjectWidgets::ApplyShiftDepth(QString strSlfName, QString strLineName, double DepthOffset) { @@ -2536,13 +2564,62 @@ void QtProjectWidgets::s_AddGujingToTree(QString strSlfName, QString strWellName } } -void QtProjectWidgets::s_Notice_AddObject(QString strName, QString strSlfName, QMap> mapShowObject) +void QtProjectWidgets::s_Notice_AddObject(QString strName, QString strSlfName, QStringList listObject) { - foreach(QTreeWidgetItem *pItem, ui->treeWidget->selectedItems()) + int topCount = ui->treeWidget->topLevelItemCount(); // 获取顶级节点数量 + if(topCount<1) { - QTreeWidgetItem *parentItem = pItem->parent()->parent(); // 上两层目录是井次 - if (parentItem && m_strSlfName == parentItem->data(0, Qt::UserRole+1).toString()) - RefreshWellRoundTree(parentItem); - break; + return; + } + QTreeWidgetItem *wellCurItem = NULL; + QTreeWidgetItem *item = ui->treeWidget->topLevelItem(0); + int childCount = item->childCount(); // 获取子节点数量 + for (int i = 0; i < childCount; ++i) + { + //井组,数据分析... + QTreeWidgetItem *wellGroupItem = item->child(i); + QString wellGroupname = wellGroupItem->text(0); + if (wellGroupname == "井组") + { + int wellCount = wellGroupItem->childCount(); // 获取井节点数量 + for (int j = 0; j < wellCount; ++j) + { + //井组,数据分析... + QTreeWidgetItem *wellItem = wellGroupItem->child(j); + int wellItemCount = wellItem->childCount(); // 获取井次数量 + for (int k = 0; k < wellItemCount; ++k) + { + if (strSlfName == wellItem->child(k)->data(0, Qt::UserRole+1).toString()) + { + wellCurItem = wellItem->child(k); + break; + } + } + if (wellCurItem) + break; + } + } + } + QStringList listExistObject; + if (wellCurItem) + { + int ObjectTypeCount = wellCurItem->childCount(); // 获取井节点数量 + for (int i = 0; i < ObjectTypeCount; ++i) + { + QTreeWidgetItem *wellItem = wellCurItem->child(i); + int ObjectCount = wellItem->childCount(); + for (int j = 0; j < ObjectCount; ++j) + { + QString qst = ""; + for (int k = 0; kchild(j)->text(0); + if (listObject[k].toUpper() == wellItem->child(j)->text(0)) + listExistObject.append(listObject[k]); + } + } + } + if (listExistObject.count()!=listObject.count()) + RefreshWellRoundTree(wellCurItem); } } diff --git a/logPlus/qtprojectwidgets.h b/logPlus/qtprojectwidgets.h index 9ec0ec1..8f454cf 100644 --- a/logPlus/qtprojectwidgets.h +++ b/logPlus/qtprojectwidgets.h @@ -53,6 +53,7 @@ public slots: void ApplyShiftDepth(QString strSlfName, QString strLineName, double DepthOffset); void onDepthShift(bool checked = false); //深度移动 void onWaveCompose(bool checked = false); //合成阵列曲线 + void onInfoEdit(bool checked = false); //属性 //TDT void onShowTDT(bool checked = false); //数据查看 @@ -86,7 +87,7 @@ public slots: void s_AddGujingToTree(QString strSlfName, QString strWellName, QString strLineName); //向左侧树图,通知有对象添加完成 - void s_Notice_AddObject(QString strName, QString strSlfName, QMap> mapObject); + void s_Notice_AddObject(QString strName, QString strSlfName, QStringList listObject); public: //初始化树图控件