波列数据,删除对象层bug, 崩溃问题。
This commit is contained in:
parent
6269488569
commit
c5de21e950
|
|
@ -109,7 +109,7 @@ signals:
|
|||
//新建波列
|
||||
void sig_AddWave(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strWaveName);
|
||||
//删除波列
|
||||
void sig_delWave(QString strUuid, QString strWellName, QString strTrackName, QString strLineName);
|
||||
void sig_delWave(QString strUuid, QString strWellName, QString strTrackName, QString strLineName, QString strObjUuid);
|
||||
|
||||
//新建表格曲线
|
||||
void sig_AddTableLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName);
|
||||
|
|
|
|||
|
|
@ -42,6 +42,14 @@ void FormBase::paintEvent(QPaintEvent* event)
|
|||
int b = rect.bottom();
|
||||
int l = rect.left();
|
||||
int r = rect.right();
|
||||
if (m_nbleft > 0)
|
||||
{
|
||||
l = m_nbleft;
|
||||
}
|
||||
if (m_nbright > 0)
|
||||
{
|
||||
r = m_nbright;
|
||||
}
|
||||
// 上边框
|
||||
if (m_BorderFlags & TopBorder) {
|
||||
painter.drawLine(l, t + nbw / 2, r, t + nbw / 2);
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@ public:
|
|||
bool m_press;//判断鼠标是否按下
|
||||
BorderFlags m_BorderFlags;
|
||||
FormWell* m_pFormWell = NULL;
|
||||
|
||||
int m_nbleft = 0;
|
||||
int m_nbright = 0;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ FormDraw::FormDraw(QWidget *parent, QString strSlfName, QString strWellName, QSt
|
|||
connect(CallManage::getInstance(), SIGNAL(sig_MouseMove(QString, QString, QString, float, float)), this, SLOT(s_MouseMove(QString, QString, QString, float, float)));
|
||||
//波列
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_AddWave(QString, QString, QString, QString, QString)), this, SLOT(s_addWave(QString, QString, QString, QString, QString)));
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_delWave(QString, QString, QString, QString)), this, SLOT(s_delWave(QString, QString, QString, QString)));
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_delWave(QString, QString, QString, QString, QString)), this, SLOT(s_delWave(QString, QString, QString, QString, QString)));
|
||||
//表格
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_AddTableLine(QString, QString, QString, QString, QString)), this, SLOT(s_addTableLine(QString, QString, QString, QString, QString)));
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_delTableLine(QString, QString, QString, QString)), this, SLOT(s_delTableLine(QString, QString, QString, QString)));
|
||||
|
|
@ -168,6 +168,7 @@ void FormDraw::setDrawData(QStringList listdt, QJsonObject objInfo)
|
|||
pwave->setDepthY(m_iY1, m_iY2);
|
||||
pwave->initGeometry(m_strUuid, m_iScale, dW, m_nObjDrawH);
|
||||
pwave->m_formTrack = m_formTrack;
|
||||
pwave->m_strObjUuid = pInfo->m_strObjUuid;
|
||||
pwave->show();
|
||||
}
|
||||
else if ("DrawImageObject" == strType)
|
||||
|
|
@ -3063,6 +3064,14 @@ void FormDraw::crossTrackSetting(bool bcross)
|
|||
selfRt.setWidth((nleft + nright + 1)*nSingleW);
|
||||
this->setGeometry(selfRt);
|
||||
|
||||
m_nbleft = 0;
|
||||
m_nbright = 0;
|
||||
if (nleft > 0 || nright > 0) {
|
||||
m_nbleft = nleft * nSingleW;
|
||||
m_nbright = m_nbleft + nSingleW;
|
||||
}
|
||||
// if (nright > 0)
|
||||
// m_nbright = (nright + 1)*nSingleW;
|
||||
}
|
||||
|
||||
void FormDraw::addCusPlot(QMyCustomPlot* plot)
|
||||
|
|
@ -3567,10 +3576,12 @@ void FormDraw::s_addWave(QString strUuid, QString strSlfName, QString strWellNam
|
|||
nW = g_iOneWidth;
|
||||
|
||||
bool bDraw = true;
|
||||
QString strObjUuid = "";
|
||||
if (bDraw)
|
||||
{
|
||||
FormWave *pwave = new FormWave(this, strSlfName, strWellName, strTrackName, strWaveName);
|
||||
pwave->setDepthY(m_iY1, m_iY2);
|
||||
strObjUuid = pwave->m_strObjUuid;
|
||||
pwave->initGeometry(m_strUuid, m_iScale, nW, m_nObjDrawH);
|
||||
pwave->m_formTrack = m_formTrack;
|
||||
pwave->show();
|
||||
|
|
@ -3599,7 +3610,7 @@ void FormDraw::s_addWave(QString strUuid, QString strSlfName, QString strWellNam
|
|||
double width=2;
|
||||
QString strScaleType = "";
|
||||
//道-对象
|
||||
m_formTrack->Add(strSlfName, m_strWellName, m_strTrackName, strWaveName, strAliasName, strUnit, newlineColor, width, _nSamples, 0, strScaleType, "waveObject");
|
||||
m_formTrack->Add(strSlfName, m_strWellName, m_strTrackName, strWaveName, strAliasName, strUnit, newlineColor, width, _nSamples, 0, strScaleType, "waveObject", QStringList(), strObjUuid);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -3802,7 +3813,7 @@ void FormDraw::s_delLine(QString strUuid, QString strWellName, QString strTrackN
|
|||
}
|
||||
|
||||
|
||||
void FormDraw::s_delWave(QString strUuid, QString strWellName, QString strTrackName, QString strLineName)
|
||||
void FormDraw::s_delWave(QString strUuid, QString strWellName, QString strTrackName, QString strLineName, QString objUuid)
|
||||
{
|
||||
//井名&道名不一致
|
||||
if(strUuid == m_strUuid && m_strWellName == strWellName && m_strTrackName == strTrackName)
|
||||
|
|
@ -3833,7 +3844,22 @@ void FormDraw::s_delWave(QString strUuid, QString strWellName, QString strTrackN
|
|||
// 打印子控件的信息,使用缩进表示层级关系
|
||||
//qDebug() << QString("%1").arg(childWidget->objectName());
|
||||
QString strObjName = childWidget->objectName();
|
||||
if(strObjName=="QMyCustomPlot")
|
||||
if (strObjName == "FormWave")
|
||||
{
|
||||
FormWave *form = (FormWave*)childWidget;
|
||||
if (form->m_strObjUuid == objUuid)
|
||||
{
|
||||
childWidget->deleteLater(); // 安排控件的删除,稍后执行
|
||||
m_listLineName.removeOne(strLineName);
|
||||
|
||||
//属性清空
|
||||
PropertyService()->InitCurrentViewInfo();
|
||||
|
||||
//取消所有选中单元格
|
||||
emit CallManage::getInstance()->sig_Raise(m_strUuid, "", "", "", "", 0, "");
|
||||
}
|
||||
}
|
||||
else if(strObjName=="QMyCustomPlot")
|
||||
{
|
||||
QMyCustomPlot *form = (QMyCustomPlot*)childWidget;
|
||||
if(form->m_strLineName == strLineName)
|
||||
|
|
|
|||
|
|
@ -308,7 +308,7 @@ public slots:
|
|||
|
||||
//
|
||||
void s_addWave(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strWaveName);
|
||||
void s_delWave(QString strUuid, QString strWellName, QString strTrackName, QString strLineName);
|
||||
void s_delWave(QString strUuid, QString strWellName, QString strTrackName, QString strLineName, QString objUuid);
|
||||
|
||||
//
|
||||
void s_addTableLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strWaveName);
|
||||
|
|
|
|||
|
|
@ -3185,7 +3185,7 @@ void FormInfo::onShowWave()
|
|||
void FormInfo::onDeleteWave()
|
||||
{
|
||||
//删除Wave
|
||||
emit CallManage::getInstance()->sig_delWave(m_strUuid, m_strWellName, m_strTrackName, m_strLineName);
|
||||
emit CallManage::getInstance()->sig_delWave(m_strUuid, m_strWellName, m_strTrackName, m_strLineName, m_strObjUuid);
|
||||
//重新设置滚动条范围
|
||||
emit CallManage::getInstance()->sig_setRangeVScrollBar2(m_strUuid);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,10 +69,10 @@ FormTrack::FormTrack(QWidget *parent, QString strSlfName, QString strWellName, Q
|
|||
this, SLOT(s_delTableLine(QString, QString, QString, QString)));
|
||||
|
||||
//波列
|
||||
connect(this, SIGNAL(sig_AddWave(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)),
|
||||
this, SLOT(s_addWave(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)));
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_delWave(QString, QString, QString, QString)),
|
||||
this, SLOT(s_delWave(QString, QString, QString, QString)));
|
||||
connect(this, SIGNAL(sig_AddWave(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString, QString)),
|
||||
this, SLOT(s_addWave(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString, QString)));
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_delWave(QString, QString, QString, QString, QString)),
|
||||
this, SLOT(s_delWave(QString, QString, QString, QString, QString)));
|
||||
// 深度
|
||||
connect(this, SIGNAL(sig_AddDepth(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)),
|
||||
this, SLOT(s_addDepth(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)));
|
||||
|
|
@ -280,7 +280,7 @@ void FormTrack::Add(QString strSlfName, QString strWellName, QString strTrackNam
|
|||
}
|
||||
else if(strType=="waveObject")
|
||||
{
|
||||
emit sig_AddWave(strSlfName, strWellName, m_strTrackName, strLineName, strAliasName, strUnit, lineColor, dWidth, vmax, vmin, strScaleType);
|
||||
emit sig_AddWave(strSlfName, strWellName, m_strTrackName, strLineName, strAliasName, strUnit, lineColor, dWidth, vmax, vmin, strScaleType, strObjUuid);
|
||||
}
|
||||
else if(strType=="tableObject")
|
||||
{
|
||||
|
|
@ -651,7 +651,7 @@ void FormTrack::s_delTableLine(QString strUuid, QString strWellName, QString str
|
|||
}
|
||||
}
|
||||
|
||||
void FormTrack::s_addWave(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType)
|
||||
void FormTrack::s_addWave(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QString strObjUuid)
|
||||
{
|
||||
qDebug() << "FormTrack s_addWave";
|
||||
|
||||
|
|
@ -666,6 +666,7 @@ void FormTrack::s_addWave(QString strSlfName, QString strWellName, QString strTr
|
|||
//波列信息栏
|
||||
FormInfo *formInfo = new FormInfo(this, strSlfName, strWellName, strTrackName, strLineName, lineColor);
|
||||
formInfo->m_strUuid = m_strUuid;
|
||||
formInfo->m_strObjUuid = strObjUuid;
|
||||
formInfo->m_strAliasName = strAliasName;
|
||||
formInfo->m_strUnit = strUnit;
|
||||
formInfo->m_strScaleType = strScaleType;
|
||||
|
|
@ -692,7 +693,7 @@ void FormTrack::s_addWave(QString strSlfName, QString strWellName, QString strTr
|
|||
emit CallManage::getInstance()->sig_setRangeVScrollBar2(m_strUuid);
|
||||
}
|
||||
|
||||
void FormTrack::s_delWave(QString strUuid, QString strWellName, QString strTrackName, QString strLineName)
|
||||
void FormTrack::s_delWave(QString strUuid, QString strWellName, QString strTrackName, QString strLineName, QString strObjUuid)
|
||||
{
|
||||
//井名&道名不一致
|
||||
if(strUuid == m_strUuid && m_strWellName == strWellName && m_strTrackName == strTrackName)
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ public:
|
|||
|
||||
signals:
|
||||
void sig_AddLine(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={}, QString strObjUuid = "");
|
||||
void sig_AddWave(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType);
|
||||
void sig_AddWave(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QString strObjUuid);
|
||||
void sig_AddTableLine(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={}, QString strObjUuid="");
|
||||
|
||||
void sig_AddDepth(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType);
|
||||
|
|
@ -93,8 +93,8 @@ public slots:
|
|||
void s_addLine(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={}, QString strObjUuid="");
|
||||
void s_delLine(QString strUuid, QString strWellName, QString strTrackName, QString strLineName);
|
||||
|
||||
void s_addWave(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType);
|
||||
void s_delWave(QString strUuid, QString strWellName, QString strTrackName, QString strLineName);
|
||||
void s_addWave(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QString strObjUuid);
|
||||
void s_delWave(QString strUuid, QString strWellName, QString strTrackName, QString strLineName, QString strObjUuid);
|
||||
|
||||
void s_AddTableLine(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={}, QString strObjUuid="");
|
||||
void s_delTableLine(QString strUuid, QString strWellName, QString strTrackName, QString strLineName);
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ FormWave::FormWave(QWidget *parent, QString strSlfName, QString strWellName, QSt
|
|||
m_strWellName = strWellName;
|
||||
m_strTrackName = strTrackName;
|
||||
m_strLineName = strLineName;
|
||||
|
||||
m_strObjUuid = getUUid();
|
||||
QString path = GetConfPath() + "selfcolorrank.ini";
|
||||
FILE*fp = fopen(path.toStdString().c_str(), "rt");
|
||||
if (fp)
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ public:
|
|||
QString m_strWellName;
|
||||
QString m_strTrackName;
|
||||
QString m_strLineName;
|
||||
|
||||
QString m_strObjUuid = "";
|
||||
QWidget *m_parent;
|
||||
|
||||
FormTrack *m_formTrack = NULL;
|
||||
|
|
|
|||
|
|
@ -690,6 +690,7 @@ void MainWindowCurve::initMainToolBar()
|
|||
ui->mainToolBar->addAction(m_SaveAsPdfAc); //导出PDF
|
||||
ui->mainToolBar->addAction(m_SaveAsSvgAc); //导出SVG
|
||||
ui->mainToolBar->addSeparator();
|
||||
ui->mainToolBar->addAction(m_ModuleOpenAc); //处理方法
|
||||
ui->mainToolBar->addAction(m_blackAc); //黑白图
|
||||
ui->mainToolBar->addAction(m_doubleHeadAc); //单曲线头
|
||||
ui->mainToolBar->addAction(m_executeDepthShiftAc); //校深
|
||||
|
|
@ -700,7 +701,7 @@ void MainWindowCurve::initMainToolBar()
|
|||
ui->mainToolBar->addSeparator();
|
||||
//
|
||||
ui->mainToolBar->addAction(m_wellTopAlignAc); //井顶对齐
|
||||
ui->mainToolBar->addAction(m_ModuleOpenAc); //处理方法
|
||||
|
||||
|
||||
// 设置为可选中
|
||||
m_fixwellsectionHeaderAc->setCheckable(true); //锁头
|
||||
|
|
@ -4942,7 +4943,7 @@ void MainWindowCurve::s_NewMCals()
|
|||
return;
|
||||
|
||||
//新建井+道+曲线(首条)
|
||||
NewWellAndTrack(sret.at(0), sret.at(1), "FCA2", "MCalsObject");
|
||||
NewWellAndTrack(sret.at(0), sret.at(1), "WTDD", "MCalsObject");
|
||||
}
|
||||
|
||||
//套管组件
|
||||
|
|
|
|||
|
|
@ -600,7 +600,7 @@ void PreQTableWidget::performDrag()
|
|||
else if(strType=="waveObject")
|
||||
{
|
||||
//删除波列
|
||||
emit CallManage::getInstance()->sig_delWave(m_strUuid, formInfo->m_strWellName, formInfo->m_strTrackName, formInfo->m_strLineName);
|
||||
emit CallManage::getInstance()->sig_delWave(m_strUuid, formInfo->m_strWellName, formInfo->m_strTrackName, formInfo->m_strLineName, formInfo->m_strObjUuid);
|
||||
}
|
||||
else if(strType=="tableObject")
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1165,12 +1165,12 @@ void QMyCustomPlot::contextMenuEvent(QContextMenuEvent *event)
|
|||
QMenu menu(this);
|
||||
if (!m_bEditor)
|
||||
{
|
||||
menu.addAction(QIcon(::GetImagePath() + "curve.png"), "开始编辑岩心图片", this, &QMyCustomPlot::onOpenEditResult);
|
||||
menu.addAction(QIcon(::GetImagePath() + "curve.png"), "开始编辑岩心图片", this, &QMyCustomPlot::onOpenEditImage);
|
||||
}
|
||||
else
|
||||
{
|
||||
menu.addAction(QIcon(::GetImagePath() + "curve.png"), "增加", this, &QMyCustomPlot::onEditImage);
|
||||
menu.addAction(QIcon(::GetImagePath() + "curve.png"), "关闭编辑岩心图片", this, &QMyCustomPlot::onCloseEditResult);
|
||||
menu.addAction(QIcon(::GetImagePath() + "curve.png"), "关闭编辑岩心图片", this, &QMyCustomPlot::onCloseEditImage);
|
||||
menu.addAction(QIcon(::GetImagePath() + "icon/CopyCoreTxt.png"), "从剪切板文本数据粘贴", this, &QMyCustomPlot::addItemsImage);
|
||||
menu.addAction(QIcon(::GetImagePath() + "icon/Delete.png"), "全部清空", this, &QMyCustomPlot::clearItemsImage);
|
||||
menu.addAction(QIcon(::GetImagePath() + "icon/ClearSelectCore.png"), "设置深度移动量", this, &QMyCustomPlot::setImageDepth);
|
||||
|
|
@ -4427,6 +4427,26 @@ void QMyCustomPlot::MegResult_Gujing()
|
|||
RefreshItems_Gujing();
|
||||
}
|
||||
|
||||
void QMyCustomPlot::onOpenEditImage()
|
||||
{
|
||||
m_bEditor = true;
|
||||
this->selectionRect()->setPen(Qt::NoPen);
|
||||
this->setInteractions(QCP::iSelectAxes | QCP::iSelectLegend | QCP::iSelectPlottables | QCP::iMultiSelect); // 轴、图例、图表可以被选择,并且是多选的方式
|
||||
this->setSelectionRectMode(QCP::srmSelect); // 鼠标框选
|
||||
|
||||
onEditImage();
|
||||
}
|
||||
|
||||
void QMyCustomPlot::onCloseEditImage()
|
||||
{
|
||||
ClearSelectItems();
|
||||
m_bEditor = false;
|
||||
//取消框选
|
||||
this->setInteractions(QCP::iSelectLegend | QCP::iSelectPlottables);
|
||||
this->setSelectionRectMode(QCP::srmNone);
|
||||
this->setCursor(Qt::ArrowCursor);
|
||||
}
|
||||
|
||||
//加载固井slf数据
|
||||
bool QMyCustomPlot::LoadFromSLF_Gujing(QString strSlfName, QString strLineName)
|
||||
{
|
||||
|
|
@ -8866,8 +8886,6 @@ void QMyCustomPlot::onOpenEditResult()
|
|||
this->selectionRect()->setPen(Qt::NoPen);
|
||||
this->setInteractions(QCP::iSelectAxes | QCP::iSelectLegend | QCP::iSelectPlottables | QCP::iMultiSelect); // 轴、图例、图表可以被选择,并且是多选的方式
|
||||
this->setSelectionRectMode(QCP::srmSelect); // 鼠标框选
|
||||
|
||||
onEditImage();
|
||||
}
|
||||
|
||||
void QMyCustomPlot::onCloseEditResult()
|
||||
|
|
|
|||
|
|
@ -548,6 +548,8 @@ public slots:
|
|||
void MegResult_Gujing(); //合并结论
|
||||
|
||||
//右键--编辑岩心照片
|
||||
void onOpenEditImage();
|
||||
void onCloseEditImage();
|
||||
void onEditImage();
|
||||
void addItemsImage(); //从剪切板文本数据粘贴
|
||||
void clearItemsImage(); //全部清空
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user