@ -40,6 +40,7 @@ MainWindowCurve::MainWindowCurve(QWidget *parent) :
// 设置工具栏的位置,此处设置为在左侧
addToolBar ( Qt : : LeftToolBarArea , ui - > toolBar ) ;
addToolBar ( Qt : : RightToolBarArea , ui - > toolBar_2 ) ;
addToolBar ( Qt : : RightToolBarArea , ui - > toolBar_3 ) ;
//初始化工具栏
initMainToolBar ( ) ;
@ -47,6 +48,9 @@ MainWindowCurve::MainWindowCurve(QWidget *parent) :
//校深
initToolBar_2 ( ) ;
ui - > toolBar_2 - > hide ( ) ;
//拼接
initToolBar_3 ( ) ;
ui - > toolBar_3 - > hide ( ) ;
//加载样式
loadStyle ( " :/qrc/qss/flatgray.css " ) ;
@ -128,6 +132,9 @@ MainWindowCurve::MainWindowCurve(QWidget *parent) :
//执行校正
connect ( CallManage : : getInstance ( ) , SIGNAL ( sig_Runcor_List ( QString , QList < double > , QList < double > ) ) , this , SLOT ( s_Runcor_List ( QString , QList < double > , QList < double > ) ) ) ;
//执行拼接
connect ( CallManage : : getInstance ( ) , SIGNAL ( sig_Merge_List ( QString , QList < double > , QList < double > ) ) , this , SLOT ( s_Merge_List ( QString , QList < double > , QList < double > ) ) ) ;
//图头
m_dock1 = new QDockWidget ( tr ( " " ) , this ) ;
m_dock1 - > setFeatures ( QDockWidget : : NoDockWidgetFeatures ) ; //QDockWidget::DockWidgetMovable
@ -179,6 +186,7 @@ void MainWindowCurve::initMainToolBar()
QIcon currtempliteIcon ( : : GetImagePath ( ) + " icon/currtemplite.png " ) ;
QIcon saveastemplateIcon ( : : GetImagePath ( ) + " icon/saveastemplate.png " ) ;
QIcon executeDepthShiftIcon ( : : GetImagePath ( ) + " icon/ExecuteDepthShift.png " ) ;
QIcon joindepthIcon ( : : GetImagePath ( ) + " icon/joindepth.png " ) ;
QIcon ModuleOpenIcon ( : : GetImagePath ( ) + " icon/ModuleOne.png " ) ;
QIcon openFileIcon ( " :/image/open.png " ) ;
QIcon runIcon ( " :/image/capacity.png " ) ;
@ -190,6 +198,7 @@ void MainWindowCurve::initMainToolBar()
QAction * m_currtempliteAc = nullptr ; //加载图文件
QAction * m_saveastemplateAc = nullptr ; //另存为图文件
QAction * m_executeDepthShiftAc = nullptr ; //校深
QAction * m_joindepthAc = nullptr ; //拼接
QAction * m_ModuleOpenAc = nullptr ; //处理方法
//QAction* m_openAc = nullptr; //打开
// QAction* m_runAc = nullptr;//
@ -200,6 +209,7 @@ void MainWindowCurve::initMainToolBar()
m_currtempliteAc = new QAction ( currtempliteIcon , " 加载图文件 " , this ) ;
m_saveastemplateAc = new QAction ( saveastemplateIcon , " 另存为图文件 " , this ) ;
m_executeDepthShiftAc = new QAction ( executeDepthShiftIcon , " 校深 " , this ) ;
m_joindepthAc = new QAction ( joindepthIcon , " 拼接 " , this ) ;
m_ModuleOpenAc = new QAction ( ModuleOpenIcon , " 处理方法 " , this ) ;
// m_runAc = new QAction(runIcon, "设置井", this);
// m_debugAc = new QAction(debugIcon, "撤销", this);
@ -213,6 +223,7 @@ void MainWindowCurve::initMainToolBar()
ui - > mainToolBar - > addAction ( m_currtempliteAc ) ;
ui - > mainToolBar - > addAction ( m_saveastemplateAc ) ;
ui - > mainToolBar - > addAction ( m_executeDepthShiftAc ) ;
ui - > mainToolBar - > addAction ( m_joindepthAc ) ;
ui - > mainToolBar - > addAction ( m_ModuleOpenAc ) ;
// ui->mainToolBar->addAction(m_runAc);
// ui->mainToolBar->addAction(m_debugAc);
@ -223,6 +234,7 @@ void MainWindowCurve::initMainToolBar()
connect ( m_currtempliteAc , & QAction : : triggered , this , & MainWindowCurve : : s_currtemplite ) ;
connect ( m_saveastemplateAc , & QAction : : triggered , this , & MainWindowCurve : : s_Save ) ;
connect ( m_executeDepthShiftAc , & QAction : : triggered , this , & MainWindowCurve : : s_ExecuteDepthShift ) ;
connect ( m_joindepthAc , & QAction : : triggered , this , & MainWindowCurve : : s_ExecuteMerge ) ;
connect ( m_ModuleOpenAc , & QAction : : triggered , this , & MainWindowCurve : : s_ModuleOpen ) ;
@ -482,11 +494,11 @@ void MainWindowCurve::initToolBar_2()
//add QAction to Widget.
ui - > toolBar_2 - > addAction ( m_ShiftAc ) ;
ui - > toolBar_2 - > addAction ( m_MoveShiftAc ) ;
ui - > toolBar_2 - > addAction ( m_DepthShiftAc ) ;
//ui->toolBar_2->addAction(m_DepthShiftAc);
ui - > toolBar_2 - > addSeparator ( ) ;
ui - > toolBar_2 - > addAction ( m _StandardAc ) ;
ui - > toolBar_2 - > addAction ( m_CorrectionAc ) ;
ui - > toolBar_2 - > addAction ( m_ShiftotherAc ) ;
//ui->toolBar_2->addAction(m_ShiftotherAc);
ui - > toolBar_2 - > addSeparator ( ) ;
ui - > toolBar_2 - > addAction ( m_autocorAc ) ;
ui - > toolBar_2 - > addAction ( m_runcorAc ) ;
@ -504,7 +516,68 @@ void MainWindowCurve::initToolBar_2()
connect ( m_runcorAc , & QAction : : triggered , this , & MainWindowCurve : : s_runcor ) ;
connect ( m_ClearAllSetCurveAc , & QAction : : triggered , this , & MainWindowCurve : : s_ClearAllSetCurve ) ;
connect ( m_ClearSetCurveAc , & QAction : : triggered , this , & MainWindowCurve : : s_ClearSetCurve ) ;
}
//初始化工具栏
void MainWindowCurve : : initToolBar_3 ( )
{
QSize toolIconSize ( 26 , 26 ) ;
ui - > toolBar_3 - > setIconSize ( toolIconSize ) ; //设置工具栏图标大小
QIcon StandardIcon ( : : GetImagePath ( ) + " icon/Standard.png " ) ;
QIcon CorrectionIcon ( : : GetImagePath ( ) + " icon/Correction.png " ) ;
QIcon ShiftotherIcon ( : : GetImagePath ( ) + " icon/Shiftother.png " ) ;
QIcon PreMegIcon ( : : GetImagePath ( ) + " icon/PreMeg.png " ) ;
QIcon mergeIcon ( : : GetImagePath ( ) + " icon/merge.png " ) ;
QIcon ClearAllSetCurveIcon ( : : GetImagePath ( ) + " icon/ClearAllSetCurve.png " ) ;
QIcon ClearSetCurveIcon ( : : GetImagePath ( ) + " icon/ClearSetCurve.png " ) ;
//工具栏
QAction * m_StandardAc = nullptr ;
QAction * m_CorrectionAc = nullptr ;
QAction * m_ShiftotherAc = nullptr ;
QAction * m_PreMegAc = nullptr ;
QAction * m_mergeAc = nullptr ;
QAction * m_ClearAllSetCurveAc = nullptr ;
QAction * m_ClearSetCurveAc = nullptr ;
m_StandardAc = new QAction ( StandardIcon , " " , this ) ;
m_CorrectionAc = new QAction ( CorrectionIcon , " " , this ) ;
m_ShiftotherAc = new QAction ( ShiftotherIcon , " " , this ) ;
m_PreMegAc = new QAction ( PreMegIcon , " " , this ) ;
m_mergeAc = new QAction ( mergeIcon , " " , this ) ;
m_ClearAllSetCurveAc = new QAction ( ClearAllSetCurveIcon , " " , this ) ;
m_ClearSetCurveAc = new QAction ( ClearSetCurveIcon , " " , this ) ;
m_StandardAc - > setToolTip ( " 设置/取消目标拼接曲线 " ) ;
m_CorrectionAc - > setToolTip ( " 设置/取消源拼接曲线 " ) ;
m_ShiftotherAc - > setToolTip ( " 批量设置从拼接曲线 " ) ;
m_PreMegAc - > setToolTip ( " 拼接效果预览 " ) ;
m_mergeAc - > setToolTip ( " 执行拼接 " ) ;
m_ClearAllSetCurveAc - > setToolTip ( " 清除全部曲线设置 " ) ;
m_ClearSetCurveAc - > setToolTip ( " 清除全部从曲线设置 " ) ;
//此种方式为文字显示在图标右侧
ui - > toolBar_3 - > setToolButtonStyle ( Qt : : ToolButtonIconOnly ) ;
//add QAction to Widget.
ui - > toolBar_3 - > addAction ( m_StandardAc ) ;
ui - > toolBar_3 - > addAction ( m_CorrectionAc ) ;
//ui->toolBar_3->addAction(m_ShiftotherAc);
ui - > toolBar_3 - > addSeparator ( ) ;
//ui->toolBar_3->addAction(m_PreMegAc);
ui - > toolBar_3 - > addAction ( m_mergeAc ) ;
ui - > toolBar_3 - > addSeparator ( ) ;
ui - > toolBar_3 - > addAction ( m_ClearAllSetCurveAc ) ;
ui - > toolBar_3 - > addAction ( m_ClearSetCurveAc ) ;
connect ( m_StandardAc , & QAction : : triggered , this , & MainWindowCurve : : s_Standard ) ;
connect ( m_CorrectionAc , & QAction : : triggered , this , & MainWindowCurve : : s_Correction ) ;
//// connect(m_ShiftotherAc, &QAction::triggered, this, &MainWindowCurve::s_Shiftother);
// connect(m_autocorAc, &QAction::triggered, this, &MainWindowCurve::s_autocor);
connect ( m_mergeAc , & QAction : : triggered , this , & MainWindowCurve : : s_merge ) ;
connect ( m_ClearAllSetCurveAc , & QAction : : triggered , this , & MainWindowCurve : : s_ClearAllSetCurve ) ;
connect ( m_ClearSetCurveAc , & QAction : : triggered , this , & MainWindowCurve : : s_ClearSetCurve ) ;
}
QStringList MainWindowCurve : : getLineList ( QString strWellName , QString strTrackName )
@ -790,7 +863,7 @@ void MainWindowCurve::s_MoveShift()
}
}
//设置/取消标准 曲线
//设置/取消标准 (目标拼接) 曲线
void MainWindowCurve : : s_Standard ( )
{
if ( m_SelectTableItem . m_iTableType = = 0 ) {
@ -813,7 +886,7 @@ void MainWindowCurve::s_Standard()
return ;
}
//主校 曲线中,去掉本条曲线
//主校 (源拼接) 曲线中,去掉本条曲线
if ( m_RightCurve . m_strSlfName = = m_SelectTableItem . m_strSlfName & &
m_RightCurve . m_strWellName = = m_SelectTableItem . m_strWellName & &
m_RightCurve . m_strTrackName = = m_SelectTableItem . m_strTrackName & &
@ -829,7 +902,7 @@ void MainWindowCurve::s_Standard()
m_RightCurve . m_strFormInfoType = " " ;
}
//从校 曲线中,去掉本条曲线
//从校 (从拼接) 曲线中,去掉本条曲线
for ( int i = 0 ; i < m_ShiftCurves . size ( ) ; i + + )
{
SelectTableItem m_TempCurve = m_ShiftCurves [ i ] ;
@ -845,8 +918,8 @@ void MainWindowCurve::s_Standard()
}
}
//iSelect=0未知, 1标准 曲线, 2主校曲线, 3从校曲线
//当前有标准 曲线
//iSelect=0未知, 1标准 (目标拼接) 曲线, 2主校(源拼接) 曲线, 3从校(从拼接) 曲线
//当前有标准 (目标拼接) 曲线
if ( m_LeftCurve . m_iTableType = = 3 & & m_LeftCurve . m_strFormInfoType = = " curveObject " )
{
//当前已经选中为标准曲线
@ -856,7 +929,7 @@ void MainWindowCurve::s_Standard()
m_LeftCurve . m_strLineName = = m_SelectTableItem . m_strLineName )
{
//修改当前曲线选择状态 iSelect=0未知
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_SelectTableItem . m_strSlfName , m_SelectTableItem . m_strWellName , m_SelectTableItem . m_strTrackName , m_SelectTableItem . m_strLineName , 0 );
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_SelectTableItem . m_strSlfName , m_SelectTableItem . m_strWellName , m_SelectTableItem . m_strTrackName , m_SelectTableItem . m_strLineName , 0 , m_bMerge );
//标准曲线中,切换为不选择
m_LeftCurve . m_iTableType = 0 ;
@ -870,10 +943,10 @@ void MainWindowCurve::s_Standard()
else
{
//修改原来的标准曲线选择状态 iSelect=0未知
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_LeftCurve . m_strSlfName , m_LeftCurve . m_strWellName , m_LeftCurve . m_strTrackName , m_LeftCurve . m_strLineName , 0 );
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_LeftCurve . m_strSlfName , m_LeftCurve . m_strWellName , m_LeftCurve . m_strTrackName , m_LeftCurve . m_strLineName , 0 , m_bMerge );
//修改当前曲线选择状态 iSelect=1标准曲线
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_SelectTableItem . m_strSlfName , m_SelectTableItem . m_strWellName , m_SelectTableItem . m_strTrackName , m_SelectTableItem . m_strLineName , 1 );
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_SelectTableItem . m_strSlfName , m_SelectTableItem . m_strWellName , m_SelectTableItem . m_strTrackName , m_SelectTableItem . m_strLineName , 1 , m_bMerge );
//设置标准曲线
m_LeftCurve = m_SelectTableItem ;
@ -883,14 +956,14 @@ void MainWindowCurve::s_Standard()
{
//当前没有标准曲线
//修改当前曲线选择状态 iSelect=1标准曲线
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_SelectTableItem . m_strSlfName , m_SelectTableItem . m_strWellName , m_SelectTableItem . m_strTrackName , m_SelectTableItem . m_strLineName , 1 );
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_SelectTableItem . m_strSlfName , m_SelectTableItem . m_strWellName , m_SelectTableItem . m_strTrackName , m_SelectTableItem . m_strLineName , 1 , m_bMerge );
//设置标准曲线
m_LeftCurve = m_SelectTableItem ;
}
}
//设置/取消校正 曲线
//设置/取消校正 (源拼接) 曲线
void MainWindowCurve : : s_Correction ( )
{
if ( m_SelectTableItem . m_iTableType = = 0 ) {
@ -945,7 +1018,7 @@ void MainWindowCurve::s_Correction()
m_TempCurve . m_strLineName = = m_SelectTableItem . m_strLineName )
{
//修改当前曲线选择状态 iSelect=0未知
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_SelectTableItem . m_strSlfName , m_SelectTableItem . m_strWellName , m_SelectTableItem . m_strTrackName , m_SelectTableItem . m_strLineName , 0 );
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_SelectTableItem . m_strSlfName , m_SelectTableItem . m_strWellName , m_SelectTableItem . m_strTrackName , m_SelectTableItem . m_strLineName , 0 , m_bMerge );
//删除从校曲线
m_ShiftCurves . removeAt ( i ) ;
@ -964,7 +1037,7 @@ void MainWindowCurve::s_Correction()
m_RightCurve . m_strLineName = = m_SelectTableItem . m_strLineName )
{
//修改当前曲线选择状态 iSelect=0未知
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_SelectTableItem . m_strSlfName , m_SelectTableItem . m_strWellName , m_SelectTableItem . m_strTrackName , m_SelectTableItem . m_strLineName , 0 );
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_SelectTableItem . m_strSlfName , m_SelectTableItem . m_strWellName , m_SelectTableItem . m_strTrackName , m_SelectTableItem . m_strLineName , 0 , m_bMerge );
//主校曲线中,切换为不选择
m_RightCurve . m_iTableType = 0 ;
@ -978,7 +1051,7 @@ void MainWindowCurve::s_Correction()
else
{
//修改当前曲线选择状态 iSelect=3从校曲线
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_SelectTableItem . m_strSlfName , m_SelectTableItem . m_strWellName , m_SelectTableItem . m_strTrackName , m_SelectTableItem . m_strLineName , 3 );
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_SelectTableItem . m_strSlfName , m_SelectTableItem . m_strWellName , m_SelectTableItem . m_strTrackName , m_SelectTableItem . m_strLineName , 3 , m_bMerge );
//设置从校曲线
m_ShiftCurves . append ( m_SelectTableItem ) ;
@ -988,7 +1061,7 @@ void MainWindowCurve::s_Correction()
{
//当前没有主校曲线
//修改当前曲线选择状态 iSelect=2主校曲线
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_SelectTableItem . m_strSlfName , m_SelectTableItem . m_strWellName , m_SelectTableItem . m_strTrackName , m_SelectTableItem . m_strLineName , 2 );
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_SelectTableItem . m_strSlfName , m_SelectTableItem . m_strWellName , m_SelectTableItem . m_strTrackName , m_SelectTableItem . m_strLineName , 2 , m_bMerge );
//设置主校曲线
m_RightCurve = m_SelectTableItem ;
@ -1293,7 +1366,6 @@ void MainWindowCurve::s_runcor()
//通知界面,执行校正
emit CallManage : : getInstance ( ) - > sig_RuncorFromPlot ( m_strUuid , m_LeftCurve . m_strSlfName , m_LeftCurve . m_strWellName , m_LeftCurve . m_strTrackName , m_LeftCurve . m_strLineName ) ;
}
void MainWindowCurve : : s_Runcor_List ( QString strUuid , QList < double > left_Low_List , QList < double > right_Hight_List )
@ -1462,6 +1534,218 @@ void MainWindowCurve::s_Runcor_List(QString strUuid, QList<double> left_Low_List
}
}
//执行拼接
void MainWindowCurve : : s_merge ( )
{
//当前有标准(目标)曲线
if ( m_LeftCurve . m_iTableType = = 3 & & m_LeftCurve . m_strFormInfoType = = " curveObject " )
{
}
else
{
QMessageBox : : warning ( this , " 提示 " , " 请先选择目标曲线! " ) ;
return ;
}
//当前有主校(源拼接)曲线
if ( m_RightCurve . m_iTableType = = 3 & & m_RightCurve . m_strFormInfoType = = " curveObject " )
{
}
else
{
QMessageBox : : warning ( this , " 提示 " , " 请先选择源拼接曲线! " ) ;
return ;
}
//通知界面,执行校正
emit CallManage : : getInstance ( ) - > sig_MergeFromPlot ( m_strUuid , m_LeftCurve . m_strSlfName , m_LeftCurve . m_strWellName , m_LeftCurve . m_strTrackName , m_LeftCurve . m_strLineName ) ;
}
void MainWindowCurve : : s_Merge_List ( QString strUuid , QList < double > left_Low_List , QList < double > right_Hight_List )
{
if ( strUuid ! = m_strUuid )
{
return ;
}
//当前有标准(目标)曲线
if ( m_LeftCurve . m_iTableType = = 3 & & m_LeftCurve . m_strFormInfoType = = " curveObject " )
{
}
else
{
QMessageBox : : warning ( this , " 提示 " , " 无目标井! " ) ;
return ;
}
//当前有主校(源拼接)曲线
if ( m_RightCurve . m_iTableType = = 3 & & m_RightCurve . m_strFormInfoType = = " curveObject " )
{
}
else
{
QMessageBox : : warning ( this , " 提示 " , " 缺少目标曲线或目标曲线无效! " ) ;
return ;
}
m_mergeLineList . clear ( ) ;
//
int pointnum = left_Low_List . size ( ) ;
//
for ( int i = 0 ; i < pointnum ; i + + )
{
CurveLine * pLine = new CurveLine ( ) ;
pLine - > SetLeftDepth ( left_Low_List [ i ] ) ;
pLine - > SetRightDepth ( right_Hight_List [ i ] ) ;
m_mergeLineList . append ( pLine ) ;
}
qsort ( m_mergeLineList , 0 , m_mergeLineList . size ( ) - 1 , 0 ) ;
if ( pointnum < 1 ) {
QMessageBox : : warning ( this , " 提示 " , " 曲线拼接深度点不存在,无法拼接! \n 请先设置拼接深度点。 " ) ;
return ;
}
if ( pointnum > 2 ) {
QMessageBox : : warning ( this , " 提示 " , " 曲线拼接深度点太多, 最多可设置2点! \n 请重新设置拼接深度点。 " ) ;
return ;
}
// float SourSdep=0;
// float SourEdep=0;
// float DectSdep=0;
// if(pointnum==1) {
// QMessageBox box(QMessageBox::Warning,"提示","拼接深度点仅有1个, 请您选择拼接部位");
// box.setStandardButtons (QMessageBox::Yes|QMessageBox::No|QMessageBox::Cancel);
// box.setButtonText(QMessageBox::Yes,QString("拼接上段"));
// box.setButtonText(QMessageBox::No,QString("拼接下段"));
// box.setButtonText(QMessageBox::Cancel,QString("放弃"));
// int flag=box.exec();//QMessageBox::information(NULL,"敬告",pwelllog->GetName()+mess,QMessageBox::Yes,QMessageBox::No,QMessageBox::Cancel);
// if(flag==QMessageBox::Yes) {
// SourSdep=m_RightCurve->GetTopDepth();
// SourEdep=m_mergeLineList[0]->GetLeftDepth();
// DectSdep=SourSdep;
// }
// else if(flag==QMessageBox::No) {
// DectSdep=m_mergeLineList[0]->GetLeftDepth();
// SourEdep=m_RightCurve->GetBottomDepth();
// SourSdep=m_mergeLineList[0]->GetRightDepth();
// }
// else return;
// }
// else if(pointnum==2) {
// SourSdep=m_mergeLineList[0]->GetLeftDepth()+m_RightCurve->GetShiftOffset();
// SourEdep=m_mergeLineList[1]->GetLeftDepth()+m_RightCurve->GetShiftOffset();
// DectSdep=m_mergeLineList[0]->GetLeftDepth();
// }
// QString name1=m_LeftCurve.m_strLineName;
// QString name2=m_RightCurve.m_strLineName;
// QList<SelectTableItem> ShiftCurvesAll;
// ShiftCurvesAll.append(m_RightCurve);
// ShiftCurvesAll.append(m_ShiftCurves);
// if(ShiftCurvesAll.size()<1) {
// AfxMessageBox("缺少目标曲线或目标曲线无效!");
// return;
// }
// int size=(SourEdep-SourSdep)/m_LeftCurve->m_Rlev+1.5;
// QString filename2=m_RightCurve.m_strSlfName;
// QString filename1=m_LeftCurve.m_strSlfName;
// CMemRdWt mrw1;
// CMemRdWt mrw2;
// struct INC_STRU Inc={0},Inc1={0};
// struct INP_STRU Inp,Inp1;
// struct HD_STRU Hd={99999.0,-99999.0,0};
// struct HD_STRU Hd1={99999.0,-99999.0,0};
// int flag=0;
// if(filename1==filename2) {
// CMemRdWt mrw4;
// if(mrw4.Open(filename1.toStdString().c_str())) {
// CMemRdWt mrw3;
// QDir aa;
// filename2=::GetLogdataPath()+"temp\\temp001";
// aa.remove(filename2);
// if(mrw3.Open(filename2.toStdString().c_str(),CMemRdWt::modeCreate,1024,1024,0,mrw4.IsWis)) {
// mrw3.CopyFromFile(mrw4,(char *)name2.toStdString().c_str());
// mrw3.Save();
// mrw3.Close();
// flag=1;
// }
// mrw1.Close();
// }
// }
// if (!mrw1.Open(filename1.toStdString().c_str())) {
// if(flag) {
// QDir aa;
// aa.remove(filename2);
// }
// return;
// }
// if (!mrw2.Open(filename2.toStdString().c_str())) {
// mrw1.Close();
// if(flag) {
// QDir aa;
// aa.remove(filename2);
// }
// return;
// }
// mrw1.SetStruct(&Inc,NULL,&Inp,NULL,NULL,NULL,&Hd,NULL);
// mrw2.SetStruct(&Inc1,NULL,&Inp1,NULL,NULL,NULL,&Hd1,NULL);
// QList<QString> names1,names2;
// names1.append(name1);
// names2.append(name2);
// for(int i=0;i<m_ShiftCurves.size();i++){
// names1.append(m_ShiftCurves.at(i).m_strLineName);
// names2.append(m_ShiftCurves.at(i).m_strLineName);
// }
// int ind1,ind2;
// QStringList ERRORS;
// int j=0;
// for(int i=0;i<names1.size();i++)
// {
// Slf_CHANNEL m_Channel1;
// Slf_CHANNEL m_Channel2;
// ind1=mrw1.OpenChannel(names1[i].toStdString().c_str());
// ind2=mrw2.OpenChannel(names2[i].toStdString().c_str());
// if(ind1<0||ind2<0) {
// CString cs;
// if(ind1<0) {
// ERRORS.append(names1[i]+" ");
// // cs.Format("源曲线不存在%s! ",name1.toStdString().c_str());
// }
// else if(ind2<0) {
// ERRORS.append(names2[i]+" ");
// // cs.Format("目标曲线不存在%s! ",name2.toStdString().c_str());
// }
// else {
// ERRORS.append(names1[i]+" "+names2[i]);
// // cs.Format("源曲线、目标曲线不存在!");
// }
// continue;
// }
// mrw1.GetChannelInfo(ind1,&m_Channel1);
// mrw2.GetChannelInfo(ind2,&m_Channel2);
// if(ind1&&SourEdep==0) SourEdep=m_Channel1.DimInfo[0].StartVal+m_Channel1.DimInfo[0].Samples*m_Channel1.DimInfo[0].Delta;
// mrw1.AddInCurve((char *)names1[i].toStdString().c_str());
// mrw2.AddInCurve((char *)names2[i].toStdString().c_str());
// mrw1.CopyCurve(mrw2,SourSdep,SourEdep,DectSdep,j,j);
// j++;
// }
// mrw2.Close();
// mrw1.Save();
// mrw1.Close();
// if(flag) {
// QDir aa;
// aa.remove(filename2);
// }
}
//清除全部曲线设置
void MainWindowCurve : : s_ClearAllSetCurve ( )
{
@ -1470,7 +1754,7 @@ void MainWindowCurve::s_ClearAllSetCurve()
if ( m_LeftCurve . m_iTableType = = 3 & & m_LeftCurve . m_strFormInfoType = = " curveObject " )
{
//修改当前曲线选择状态 iSelect=0未知
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_LeftCurve . m_strSlfName , m_LeftCurve . m_strWellName , m_LeftCurve . m_strTrackName , m_LeftCurve . m_strLineName , 0 );
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_LeftCurve . m_strSlfName , m_LeftCurve . m_strWellName , m_LeftCurve . m_strTrackName , m_LeftCurve . m_strLineName , 0 , m_bMerge );
//标准曲线中,切换为不选择
m_LeftCurve . m_iTableType = 0 ;
@ -1487,7 +1771,7 @@ void MainWindowCurve::s_ClearAllSetCurve()
if ( m_RightCurve . m_iTableType = = 3 & & m_RightCurve . m_strFormInfoType = = " curveObject " )
{
//修改当前曲线选择状态 iSelect=0未知
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_RightCurve . m_strSlfName , m_RightCurve . m_strWellName , m_RightCurve . m_strTrackName , m_RightCurve . m_strLineName , 0 );
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_RightCurve . m_strSlfName , m_RightCurve . m_strWellName , m_RightCurve . m_strTrackName , m_RightCurve . m_strLineName , 0 , m_bMerge );
//主校曲线中,切换为不选择
m_RightCurve . m_iTableType = 0 ;
@ -1504,7 +1788,7 @@ void MainWindowCurve::s_ClearAllSetCurve()
{
SelectTableItem m_TempCurve = m_ShiftCurves [ i ] ;
//修改当前曲线选择状态 iSelect=0未知
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_TempCurve . m_strSlfName , m_TempCurve . m_strWellName , m_TempCurve . m_strTrackName , m_TempCurve . m_strLineName , 0 );
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_TempCurve . m_strSlfName , m_TempCurve . m_strWellName , m_TempCurve . m_strTrackName , m_TempCurve . m_strLineName , 0 , m_bMerge );
//删除从校曲线
m_ShiftCurves . removeAt ( i ) ;
@ -1519,7 +1803,7 @@ void MainWindowCurve::s_ClearSetCurve()
{
SelectTableItem m_TempCurve = m_ShiftCurves [ i ] ;
//修改当前曲线选择状态 iSelect=0未知
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_TempCurve . m_strSlfName , m_TempCurve . m_strWellName , m_TempCurve . m_strTrackName , m_TempCurve . m_strLineName , 0 );
emit CallManage : : getInstance ( ) - > sig_ChangeLineStatus ( m_strUuid , m_TempCurve . m_strSlfName , m_TempCurve . m_strWellName , m_TempCurve . m_strTrackName , m_TempCurve . m_strLineName , 0 , m_bMerge );
//删除从校曲线
m_ShiftCurves . removeAt ( i ) ;
@ -1686,6 +1970,16 @@ void MainWindowCurve::s_Save()
//校深
void MainWindowCurve : : s_ExecuteDepthShift ( )
{
//当前正在拼接处理
if ( m_bMerge )
{
//清理拼接线段
s_ClearAllSetCurve ( ) ;
}
m_bMerge = false ;
ui - > toolBar_3 - > hide ( ) ;
//
if ( ui - > toolBar_2 - > isHidden ( ) )
{
ui - > toolBar_2 - > show ( ) ;
@ -1696,6 +1990,29 @@ void MainWindowCurve::s_ExecuteDepthShift()
}
}
//拼接
void MainWindowCurve : : s_ExecuteMerge ( )
{
//当前正在校深处理
if ( ! m_bMerge )
{
//清理校深线段
s_ClearAllSetCurve ( ) ;
}
m_bMerge = true ;
ui - > toolBar_2 - > hide ( ) ;
//
if ( ui - > toolBar_3 - > isHidden ( ) )
{
ui - > toolBar_3 - > show ( ) ;
}
else
{
ui - > toolBar_3 - > hide ( ) ;
}
}
void MainWindowCurve : : s_ModuleOpen ( )
{
QString strSlfName = " " ;