Merge branch 'main' of http://git.hivekion.com:3000/jiayulong/logplus
This commit is contained in:
commit
99486e528e
|
|
@ -39,7 +39,7 @@ signals:
|
|||
void sig_CloseProject();//关闭项目
|
||||
|
||||
void sig_ShowParameterCard(QString strSlfName, QString strName);//参数表查看
|
||||
void sig_ShowCurve(QString strSlfName, QString strName);//曲线数据查看
|
||||
void sig_ShowCurve(QMap<QString,QList<QString>> mapShowObject);//曲线数据查看
|
||||
void sig_DepthShift(QString strSlfName, QString strName, double DepthOffset);//深度移动
|
||||
void sig_ShowTable(QString strSlfName, QString strName);//表格数据查看
|
||||
void sig_ShowWave(QString strSlfName, QString strName);//波列数据查看
|
||||
|
|
|
|||
|
|
@ -1930,37 +1930,37 @@ void CDataManagger::CallDisplayWaveOrCurve(int Type, const QString& FileName,
|
|||
|
||||
}
|
||||
|
||||
// void CDataManagger::CallDisplayCurveVerChange(int Type, const QString& FileName,
|
||||
// const QString& CurveName, QWidget* parent, int value, float tipValue)
|
||||
// {
|
||||
// //常规曲线
|
||||
// if (Type == 0)
|
||||
// {
|
||||
// ShowCurve *pDlg=parent->findChild<ShowCurve*>("curveView");
|
||||
// if(NULL == pDlg)
|
||||
// {
|
||||
// pDlg=new ShowCurve(parent);
|
||||
// pDlg->setObjectName("curveView");
|
||||
// pDlg->FileName=FileName;
|
||||
// pDlg->CurveName=CurveName;
|
||||
// pDlg->init();
|
||||
// pDlg->show();
|
||||
// }
|
||||
void CDataManagger::CallDisplayCurveVerChange(int Type, const QString& FileName,
|
||||
const QString& CurveName, QWidget* parent, int value, float tipValue)
|
||||
{
|
||||
//常规曲线
|
||||
if (Type == 0)
|
||||
{
|
||||
ShowCurve *pDlg=parent->findChild<ShowCurve*>("curveView");
|
||||
if(NULL == pDlg)
|
||||
{
|
||||
pDlg=new ShowCurve(parent);
|
||||
pDlg->setObjectName("curveView");
|
||||
pDlg->FileName=FileName;
|
||||
pDlg->CurveName=CurveName;
|
||||
pDlg->init();
|
||||
pDlg->show();
|
||||
}
|
||||
|
||||
// pDlg->linkVerDeptSliderValueChange(value, tipValue);
|
||||
pDlg->linkVerDeptSliderValueChange(value, tipValue);
|
||||
|
||||
// }
|
||||
}
|
||||
|
||||
// }
|
||||
}
|
||||
|
||||
// void CDataManagger::sendTableP2Mgr(QWidget* parent, QScrollBar *p, QTableWidget *t)
|
||||
// {
|
||||
// ShowCurve *pDlg = parent->findChild<ShowCurve*>("curveView");
|
||||
// if(NULL == pDlg) return;
|
||||
void CDataManagger::sendTableP2Mgr(QWidget* parent, QScrollBar *p, QTableWidget *t)
|
||||
{
|
||||
ShowCurve *pDlg = parent->findChild<ShowCurve*>("curveView");
|
||||
if(NULL == pDlg) return;
|
||||
|
||||
// pDlg->setTableBro(p);
|
||||
// pDlg->setCurveTable(t);
|
||||
// }
|
||||
pDlg->setTableBro(p);
|
||||
pDlg->setCurveTable(t);
|
||||
}
|
||||
|
||||
/*
|
||||
void CDataManagger::ListMessage(const QString& listName,const QStringList& header,const QStringList& listMessage)
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ FORMS += \
|
|||
|
||||
HEADERS += \
|
||||
../../common/geometryutils.h \
|
||||
../include/DataManagger.h \
|
||||
AdaptionComboBox.h \
|
||||
AngleAdjTool.h \
|
||||
CheckHeadView.h \
|
||||
|
|
@ -92,8 +93,7 @@ HEADERS += \
|
|||
cdialog.h \
|
||||
dataslothelper.h \
|
||||
deptlineedit.h \
|
||||
view.h \
|
||||
../include/DataManagger.h
|
||||
view.h
|
||||
|
||||
SOURCES += \
|
||||
../../common/geometryutils.cpp \
|
||||
|
|
|
|||
|
|
@ -138,6 +138,7 @@ public:
|
|||
|
||||
public:
|
||||
void setName(QString strOldPath, QString strOldName, int nObjectType);
|
||||
void setShowCurveName(QString strPath, QString strName, QMap<QString,QList<QString>> mapShowObject);
|
||||
};
|
||||
|
||||
#endif /* PAITABLEWIDGET_H_ */
|
||||
|
|
|
|||
|
|
@ -191,6 +191,7 @@ void WellLogTableDialogNew::setName(QString strOldPath, QString strOldName, int
|
|||
pWellLog->m_name = strOldName;
|
||||
m_pWellLogs.clear();
|
||||
m_pWellLogs.append(pWellLog);
|
||||
|
||||
//初始化
|
||||
InitWell();
|
||||
|
||||
|
|
@ -205,6 +206,46 @@ void WellLogTableDialogNew::setName(QString strOldPath, QString strOldName, int
|
|||
//m_pUI->tableWidget->setCurrentCell(300, 0);
|
||||
}
|
||||
|
||||
void WellLogTableDialogNew::setShowCurveName(QString strPath, QString strName, QMap<QString,QList<QString>> mapShowObject)
|
||||
{
|
||||
FileName = strPath;
|
||||
CurveName = strName;
|
||||
m_ObjectType = CURVE_OBJECT;
|
||||
|
||||
if (WAVE_OBJECT != m_ObjectType)
|
||||
m_pUI->horizontalScrollBar->hide();
|
||||
m_pWellLogs.clear();
|
||||
|
||||
QList<QString> listShowSlfName = mapShowObject.keys();
|
||||
|
||||
for(int i= 0; i < listShowSlfName.size(); i++)
|
||||
{
|
||||
QString strSlfName = listShowSlfName.at(i);
|
||||
QList<QString> listObjectName = mapShowObject[listShowSlfName.at(i)];
|
||||
for(int j= 0; j < listObjectName.size(); j++)
|
||||
{
|
||||
QString strCurveName = listObjectName.at(j);
|
||||
CObjWellLog* pWellLog = new CObjWellLog;
|
||||
pWellLog->SetSlfFileName(strSlfName);
|
||||
pWellLog->m_name = strCurveName;
|
||||
|
||||
m_pWellLogs.append(pWellLog);
|
||||
}
|
||||
}
|
||||
|
||||
//初始化
|
||||
InitWell();
|
||||
|
||||
m_gridData->m_middleWidth=0;
|
||||
m_gridData->m_gridWidth=0;
|
||||
InitWellLog();
|
||||
|
||||
qDebug() << "count=" << QString::number(count);
|
||||
m_pUI->tableWidget->verticalScrollBar()->setRange(0, count);//count
|
||||
m_pUI->tableWidget->verticalScrollBar()->setValue(count / 2);
|
||||
|
||||
//m_pUI->tableWidget->setCurrentCell(300, 0);
|
||||
}
|
||||
//井眼轨迹
|
||||
void WellLogTableDialogNew::InitWell()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3448,17 +3448,17 @@ void GridDataAdapter::slotVerScrollValueChange(int nValue)
|
|||
m_popTip->moveCursorPoint(m_popTipValue);
|
||||
|
||||
if(m_dtype == D_WellLogData){
|
||||
// //20210111 GZL add 联动
|
||||
// QWidget* parent=qobject_cast<QWidget*>(m_table->parent());
|
||||
// QWidget* pvPage=parent->findChild<QWidget*>("curvePreViewPage");
|
||||
// int value = (m_EDep-m_popTipValue)*CurveViewVerRange/(m_EDep-m_SDep)+1;
|
||||
// if(value >= 0 && value <= CurveViewVerRange){
|
||||
// m_mgr->CallDisplayCurveVerChange(0,fileName,curveName,pvPage,value,m_popTipValue);
|
||||
//20210111 GZL add 联动
|
||||
QWidget* parent=qobject_cast<QWidget*>(m_table->parent());
|
||||
QWidget* pvPage=parent->findChild<QWidget*>("curvePreViewPage");
|
||||
int value = (m_EDep-m_popTipValue)*CurveViewVerRange/(m_EDep-m_SDep)+1;
|
||||
if(value >= 0 && value <= CurveViewVerRange){
|
||||
m_mgr->CallDisplayCurveVerChange(0,fileName,curveName,pvPage,value,m_popTipValue);
|
||||
|
||||
// m_mgr->sendTableP2Mgr(pvPage, m_verScrolBar, m_table);
|
||||
// }
|
||||
m_mgr->sendTableP2Mgr(pvPage, m_verScrolBar, m_table);
|
||||
}
|
||||
|
||||
// //updateTableView();
|
||||
//updateTableView();
|
||||
}
|
||||
}
|
||||
else{
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -52,6 +52,7 @@
|
|||
#define CORE_PHYSICS_ITEM_PROPERTY "CORE_PHYSICS_ITEM_PROPERTY" // 岩心分析item
|
||||
|
||||
#define Depth_Property "Depth_Property" // 深度
|
||||
#define PL_OBJECT_PROPERTY "PL_OBJECT_PROPERTY" // 频率统计图
|
||||
|
||||
#define SwallCore_Property "SwallCore_Property" //井壁取心
|
||||
#define SwallCoreItem_Property "SwallCoreItem_Property" //井壁取心item
|
||||
|
|
@ -173,8 +174,6 @@ public:
|
|||
void initHeadProperty(FormHead *formHead, QTableWidget *tableWidget, QTableWidgetItem* item, int row, int col);
|
||||
|
||||
void initTableProperty(FormInfo *formInfo);
|
||||
// 深度
|
||||
void initDepthProperty(FormInfo *formInfo);
|
||||
|
||||
void initProperty(FormInfo *formInfo);
|
||||
// 玫瑰图属性
|
||||
|
|
@ -189,14 +188,6 @@ public:
|
|||
void initGujingProperty(FormInfo *formInfo);
|
||||
void initGujingItemProperty(TransparentDraggableGujing* tdGujing, double lower, double upper, QString strResult);
|
||||
|
||||
// 岩心照片属性
|
||||
void initImageProperty(FormInfo *formInfo);
|
||||
void initImageItemProperty(TransparentDraggableImage* tdImage, double lower, double upper, QString strResult, double left, double width, QColor borderColor, Qt::PenStyle borderStyle, int borderWidth);
|
||||
|
||||
// 岩心分析属性 isItem用来判断是不是item 默认false
|
||||
void initCorePhysicsProperty(FormInfo *formInfo, bool isItem = false);
|
||||
void initCorePhysicsItemProperty(TransparentDraggableCorePhysics* tdImage);
|
||||
|
||||
// 井壁取心属性
|
||||
void initSwallCoreProperty(FormInfo *formInfo);
|
||||
void initSwallCoreItemProperty(TransparentDraggableSwallCore* tdSwallCore, double Depth, QString LithologyImage, QString OilGasImage, QString ColorImage, double Sideleft, double width, int iColor);
|
||||
|
|
@ -234,15 +225,25 @@ public:
|
|||
//处理通用属性
|
||||
void CommonPropertyChanged(QtProperty *pProperty, const QVariant &variant);
|
||||
|
||||
// 岩心照片
|
||||
// 频率统计图
|
||||
void initPlObjectProperty(FormInfo *formInfo);
|
||||
void changedPlObjectProperty(QString strProName, QVariant val);
|
||||
|
||||
// 岩心照片 属性
|
||||
void initImageProperty(FormInfo *formInfo);
|
||||
void initImageItemProperty(TransparentDraggableImage* tdImage, double lower, double upper, QString strResult, double left, double width, QColor borderColor, Qt::PenStyle borderStyle, int borderWidth);
|
||||
void changedYxzpProperty(QtProperty *pProperty, const QVariant &variant);
|
||||
void changedYxzpItemProperty(QtProperty *pProperty, const QVariant &variant);
|
||||
|
||||
// 深度
|
||||
void initDepthProperty(FormInfo *formInfo);
|
||||
void changedDepthProperty(QString strProName, QVariant val);
|
||||
|
||||
// 岩心分析
|
||||
// 岩心分析 属性 isItem用来判断是不是item 默认false
|
||||
void initCorePhysicsProperty(FormInfo *formInfo, bool isItem = false);
|
||||
void initCorePhysicsItemProperty(TransparentDraggableCorePhysics* tdImage);
|
||||
void changedCorePhysicsProperty(QtProperty *pProperty, const QVariant &variant, bool isItem = false);
|
||||
|
||||
public slots:
|
||||
void SlotPropertyChanged(QtProperty *property, const QVariant &variant);
|
||||
void SlotPropertyChanged(QtProperty *property, const int &val, bool islinestyle);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#include "YxzpDialog.h"
|
||||
#include "YxzpDialog.h"
|
||||
|
||||
YxzpDialog::YxzpDialog(QWidget *parent)
|
||||
: QDialog(parent)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef YXZPDIALOG_H
|
||||
#ifndef YXZPDIALOG_H
|
||||
#define YXZPDIALOG_H
|
||||
// 岩心照片 自定义 dialog
|
||||
#include <QDialog>
|
||||
|
|
@ -8,10 +8,10 @@
|
|||
#include <QHBoxLayout>
|
||||
#include <QVBoxLayout>
|
||||
#include <QFileDialog>
|
||||
|
||||
|
||||
#include <QPixmap>
|
||||
|
||||
#pragma execution_character_set("utf-8")
|
||||
|
||||
class YxzpDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
|
|
|||
|
|
@ -189,6 +189,16 @@ void CustomTabWidget::dropEvent(QDropEvent *event)
|
|||
//关闭
|
||||
void CustomTabWidget::slot_tabClose(int index)
|
||||
{
|
||||
QWidget *selectWidget = tabWidget(index);
|
||||
|
||||
QString objectName = selectWidget->objectName();
|
||||
if(objectName == "MainWindowSplitter")
|
||||
{
|
||||
int flag = QMessageBox::warning(NULL,"提示",QString("图文件尚未保存,您确信关闭当前窗口?"),QMessageBox::Yes,QMessageBox::No);
|
||||
if(flag!=QMessageBox::Yes) return;
|
||||
}
|
||||
|
||||
//移除
|
||||
removeTab(index);
|
||||
|
||||
//属性清空
|
||||
|
|
|
|||
|
|
@ -192,7 +192,7 @@ void FormDraw::setDrawData(QStringList listdt, QJsonObject objInfo)
|
|||
// 设置左侧显示属性 设置界面样式
|
||||
if(pInfo->m_strUnit.isEmpty()){
|
||||
pInfo->m_strUnit = "(米)";
|
||||
pInfo->m_strUnitFont = QFont("微软雅黑", 10);
|
||||
pInfo->m_strUnitFont = QFont("微软雅黑", 8);
|
||||
}
|
||||
initDepth(curv);
|
||||
// 读json后 重新设置样式
|
||||
|
|
@ -312,6 +312,11 @@ void FormDraw::setDrawData(QStringList listdt, QJsonObject objInfo)
|
|||
}
|
||||
else if("plObject" == strType)
|
||||
{
|
||||
if(pInfo->m_strUnit.isEmpty()){
|
||||
pInfo->m_strUnit = "(°)";
|
||||
pInfo->m_strUnitFont = QFont("微软雅黑", 8);
|
||||
}
|
||||
|
||||
initFgrq(curv);
|
||||
}
|
||||
else if("roseObject" == strType)
|
||||
|
|
@ -8154,6 +8159,63 @@ void FormDraw::dropEvent(QDropEvent* event)
|
|||
//新建表格曲线
|
||||
emit CallManage::getInstance()->sig_AddTableLine(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="depthObject")
|
||||
{
|
||||
qDebug() << "新建深度";
|
||||
//新建曲线
|
||||
emit CallManage::getInstance()->sig_AddDepth(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="ganzhuangtuObject")
|
||||
{
|
||||
//新建杆状图
|
||||
emit CallManage::getInstance()->sig_AddGanZhuangTu(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="JyktObject")
|
||||
{
|
||||
//新建井眼垮塌矢量图
|
||||
emit CallManage::getInstance()->sig_AddJykt(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="DenvObject")
|
||||
{
|
||||
//新建井斜方位图
|
||||
emit CallManage::getInstance()->sig_AddDenv(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="DrawImageObject")
|
||||
{
|
||||
//图像 成图
|
||||
emit CallManage::getInstance()->sig_AddDrawImage(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="SantuyibiaoObject")
|
||||
{
|
||||
//斜井三图一表
|
||||
emit CallManage::getInstance()->sig_AddSantuyibiao(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="CrackObject")
|
||||
{
|
||||
//裂缝
|
||||
emit CallManage::getInstance()->sig_AddCrack(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="JiegutextObject")
|
||||
{
|
||||
//气测/FMT/射孔/文本
|
||||
emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="LogfaceObject")
|
||||
{
|
||||
//沉积相
|
||||
emit CallManage::getInstance()->sig_AddLogface(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="MCalsObject")
|
||||
{
|
||||
//多臂井径
|
||||
emit CallManage::getInstance()->sig_AddMCals(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="TubingstringObject")
|
||||
{
|
||||
//套管组件
|
||||
emit CallManage::getInstance()->sig_AddTubingstring(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
|
||||
// 接受拖拽事件
|
||||
event->setDropAction(Qt::MoveAction);
|
||||
event->accept();
|
||||
|
|
|
|||
|
|
@ -747,7 +747,10 @@ void FormInfo::paintEvent(QPaintEvent* event)
|
|||
}
|
||||
else
|
||||
{
|
||||
QFont oldFont = painter.font();
|
||||
painter.setFont(this->m_strAliasNameFont);
|
||||
painter.drawText(rt, Qt::AlignCenter, text);
|
||||
painter.setFont(oldFont);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -793,18 +796,19 @@ void FormInfo::paintEvent(QPaintEvent* event)
|
|||
painter.drawText(rect.left(), rect.top()+rect.height()*2/3, rect.width(), rect.height()/3 ,Qt::AlignCenter, QString::number(m_vmin)+" ~ "+QString::number(m_vmax));
|
||||
}
|
||||
|
||||
if(m_strLineName == "深度")
|
||||
if(m_strLineName == "深度" || m_strType == "plObject")
|
||||
{
|
||||
QFont oldFont = painter.font();
|
||||
painter.setFont(m_strUnitFont);
|
||||
painter.drawText(rect.left(), rect.top() + rect.height() * 2 / 3, rect.width(), rect.height() / 3, Qt::AlignCenter, this->m_strUnit);
|
||||
painter.setFont(oldFont);
|
||||
}
|
||||
// 岩心分析
|
||||
if(m_strType == "tableObject" && m_strLineName == "CORE_PHYSICS")
|
||||
{
|
||||
painter.setPen(Qt::black);
|
||||
// 字体->曲线单位
|
||||
QFont oldFont = painter.font();
|
||||
painter.setFont(m_strUnitFont);
|
||||
// 显示单位
|
||||
painter.drawText(rect.left()+10, rect.top() + rect.height() * 2 / 3, rect.width(), rect.height() / 3, Qt::AlignCenter, m_strUnit);
|
||||
painter.setFont(oldFont);
|
||||
|
||||
|
|
@ -854,6 +858,11 @@ void FormInfo::paintEvent(QPaintEvent* event)
|
|||
painter.setFont(oldFont);
|
||||
}
|
||||
|
||||
if(this->m_strType == "plObject")
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
QWidget::paintEvent(event);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -85,9 +85,10 @@ public:
|
|||
QString m_strWellName;
|
||||
QString m_strTrackName;
|
||||
QString m_strLineName;
|
||||
QString m_strAliasName;//显示名称
|
||||
QString m_strAliasName; //显示名称
|
||||
QFont m_strAliasNameFont = QFont("微软雅黑", 10); //显示名称字体
|
||||
QString m_strUnit = "(米)";//单位
|
||||
QFont m_strUnitFont = QFont("微软雅黑", 10);//单位字体
|
||||
QFont m_strUnitFont = QFont("微软雅黑", 8);//单位字体
|
||||
// 头部高度
|
||||
int m_headHeight = 100;
|
||||
|
||||
|
|
@ -205,7 +206,7 @@ public:
|
|||
QColor m_sdRulerColor; // 标尺颜色
|
||||
double m_sdInterval = 20; // 间隔
|
||||
QFont m_sdLabelFont = QFont("微软雅黑", 10); // 标注字体
|
||||
double m_sdRotationAngle = 0.0; // 旋转(°)
|
||||
double m_sdRotationAngle = 90.0; // 旋转(°)
|
||||
bool m_sdDrawStartDepth; // 绘制起点深度
|
||||
bool m_sdDrawEndDepth; // 绘制终点深度
|
||||
bool m_sdMeasuredDepth = true; // 斜深
|
||||
|
|
@ -240,6 +241,61 @@ public:
|
|||
QColor m_cp_symbolFillColor; // 填充颜色
|
||||
int m_cp_fieldName = 0; // 字段名称
|
||||
|
||||
// 频率统计图
|
||||
// 数据
|
||||
int m_pl_dataType; // 数据类型
|
||||
QString m_pl_azimuthCurve = "DDIR"; // 方位曲线
|
||||
QString m_pl_inclinationCurve = "DANG"; // 倾角曲线
|
||||
// 通用界面配置
|
||||
QString m_pl_sectionHeight; // 例区高度(cm)
|
||||
// 字体相关配置
|
||||
QString m_pl_fontName; // 字体名称
|
||||
QString m_pl_fontUnit; // 单位字体
|
||||
int m_pl_fontScale; // 刻度字体大小
|
||||
QString m_pl_curveName; // 曲线名称
|
||||
// 控制曲线参数
|
||||
QString m_pl_controlCurveName; // 控制曲线名
|
||||
double m_pl_controlMinValue; // 控制最小值
|
||||
double m_pl_controlMaxValue; // 控制最大值
|
||||
// 方位频率绘图参数
|
||||
int m_pl_azimuthFrequency; // 方位频率
|
||||
int m_pl_sectorCount; // 扇形数量
|
||||
double m_pl_circleRadius; // 圆半径(cm)
|
||||
QColor m_pl_circleColor; // 圆线颜色
|
||||
int m_pl_circleLineWidth; // 圆线宽度
|
||||
bool m_pl_isFillEnabled; // 是否启用填充
|
||||
QColor m_pl_fillColor; // 填充颜色
|
||||
int m_pl_fillFrequency; // 填充频率
|
||||
// 倾角频率绘图参数
|
||||
int m_pl_dipFrequency; // 倾角频率
|
||||
int m_pl_lineType; // 线型
|
||||
int m_pl_lineThickness; // 线粗细
|
||||
QColor m_pl_lineColor; // 线颜色
|
||||
bool m_pl_drawAnnotation; // 是否绘制标注
|
||||
bool m_pl_drawHistogram; // 是否绘制直方图
|
||||
// 基线参数
|
||||
int m_pl_baselineWidth; // 基线宽度
|
||||
QColor m_pl_baselineColor; // 基线颜色
|
||||
// 统计参数
|
||||
int m_pl_statInterval; // 统计间隔
|
||||
double m_pl_minInclination; // 最小倾角
|
||||
double m_pl_maxInclination; // 最大倾角
|
||||
// 地质要素分类开关
|
||||
bool m_pl_highGap; // 高导缝
|
||||
bool m_pl_highReservoir; // 高阻缝
|
||||
bool m_pl_reticularFracture; // 网状缝
|
||||
bool m_pl_inducedFracture; // 诱导缝
|
||||
bool m_pl_bedLayer; // 层理
|
||||
bool m_pl_erosionSurface; // 侵蚀面
|
||||
bool m_pl_pore; // 孔洞
|
||||
bool m_pl_vesicle; // 气孔
|
||||
bool m_pl_gravel; // 砾石
|
||||
bool m_pl_nodule; // 结核
|
||||
bool m_pl_lumps; // 团块
|
||||
bool m_pl_fault; // 断层
|
||||
bool m_pl_verticalFracture; // 垂直缝
|
||||
QString m_pl_custom1; // 自定义1
|
||||
|
||||
int cpLineWidth() const;
|
||||
void setCpLineWidth(int cpLineWidth);
|
||||
|
||||
|
|
|
|||
|
|
@ -137,6 +137,62 @@ void FormTrackTop::dropEvent(QDropEvent* event)
|
|||
//新建表格曲线
|
||||
emit CallManage::getInstance()->sig_AddTableLine(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="depthObject")
|
||||
{
|
||||
qDebug() << "新建深度";
|
||||
//新建曲线
|
||||
emit CallManage::getInstance()->sig_AddDepth(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="ganzhuangtuObject")
|
||||
{
|
||||
//新建杆状图
|
||||
emit CallManage::getInstance()->sig_AddGanZhuangTu(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="JyktObject")
|
||||
{
|
||||
//新建井眼垮塌矢量图
|
||||
emit CallManage::getInstance()->sig_AddJykt(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="DenvObject")
|
||||
{
|
||||
//新建井斜方位图
|
||||
emit CallManage::getInstance()->sig_AddDenv(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="DrawImageObject")
|
||||
{
|
||||
//图像 成图
|
||||
emit CallManage::getInstance()->sig_AddDrawImage(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="SantuyibiaoObject")
|
||||
{
|
||||
//斜井三图一表
|
||||
emit CallManage::getInstance()->sig_AddSantuyibiao(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="CrackObject")
|
||||
{
|
||||
//裂缝
|
||||
emit CallManage::getInstance()->sig_AddCrack(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="JiegutextObject")
|
||||
{
|
||||
//气测/FMT/射孔/文本
|
||||
emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="LogfaceObject")
|
||||
{
|
||||
//沉积相
|
||||
emit CallManage::getInstance()->sig_AddLogface(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="MCalsObject")
|
||||
{
|
||||
//多臂井径
|
||||
emit CallManage::getInstance()->sig_AddMCals(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="TubingstringObject")
|
||||
{
|
||||
//套管组件
|
||||
emit CallManage::getInstance()->sig_AddTubingstring(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
// 接受拖拽事件
|
||||
event->setDropAction(Qt::MoveAction);
|
||||
event->accept();
|
||||
|
|
|
|||
|
|
@ -28,8 +28,12 @@ FormWell::FormWell(QWidget *parent, QString strWellName) :
|
|||
ui->tableWidget->setRowCount(rowcount); //动态设置行数
|
||||
//ui->tableWidget->verticalHeader()->setFixedWidth(3);//标题栏宽度
|
||||
ui->tableWidget->horizontalHeader()->setFixedHeight(3);
|
||||
|
||||
ui->tableWidget->setStyleSheet( "QTableView::item:selected {color:#57595B; background:#E4E4E4;}");
|
||||
//左右边框隐藏
|
||||
ui->tableWidget->setStyleSheet("QTableView::item {border-left: 0px solid black;} \
|
||||
QTableView::item:selected {border-left: 0px solid black; color:#57595B; background:#E4E4E4;}\
|
||||
QTableView::item {border-right: 0px solid black;} \
|
||||
QTableView::item:selected {border-right: 0px solid black;}");
|
||||
//"QTableView::item:selected {color:#57595B; background:#E4E4E4;}"
|
||||
|
||||
// 假设你的类中有一个槽函数:onTableRowsInserted(QModelIndex parent, int first, int last)
|
||||
//connect(ui->tableWidget->model(), &QAbstractItemModel::columnsInserted,
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
connect(CallManage::getInstance(), SIGNAL(sig_ShowParameterCard(QString, QString)), this, SLOT(s_ShowParameterCard(QString, QString)));
|
||||
//曲线
|
||||
//关联信号槽,数据查看曲线数据
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_ShowCurve(QString, QString)), this, SLOT(s_ShowCurve(QString, QString)));
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_ShowCurve(QMap<QString,QList<QString>>)), this, SLOT(s_ShowCurve(QMap<QString,QList<QString>>)));
|
||||
|
||||
//关联信号槽,数据查看表格数据
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_ShowTable(QString, QString)), this, SLOT(s_ShowTable(QString, QString)));
|
||||
|
|
@ -583,12 +583,21 @@ void MainWindow::s_ShowParameterCard(QString strSlfName, QString strName)
|
|||
}
|
||||
|
||||
//曲线数据查看
|
||||
void MainWindow::s_ShowCurve(QString strSlfName, QString strName)
|
||||
void MainWindow::s_ShowCurve(QMap<QString,QList<QString>> mapShowObject)
|
||||
{
|
||||
if(m_centerWidgets)
|
||||
{
|
||||
QString strSlfName;
|
||||
QString strName;
|
||||
QList<QString> listShowSlfName = mapShowObject.keys();
|
||||
if (listShowSlfName.size()>0)
|
||||
{
|
||||
strSlfName = listShowSlfName.at(0);
|
||||
strName = mapShowObject[listShowSlfName.at(0)].at(0);
|
||||
}
|
||||
|
||||
WellLogTableDialogNew* pDialog = new WellLogTableDialogNew();
|
||||
pDialog->setName(strSlfName, strName, CURVE_OBJECT);
|
||||
pDialog->setShowCurveName(strSlfName, strName, mapShowObject);
|
||||
QString wellname;
|
||||
QString path;
|
||||
GetWellNameAndPath(strSlfName, wellname, path);
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ public slots:
|
|||
//开发工具
|
||||
void s_development();
|
||||
void s_ShowParameterCard(QString strSlfName, QString strName);//参数卡数据查看
|
||||
void s_ShowCurve(QString strSlfName, QString strName);//曲线数据查看
|
||||
void s_ShowCurve(QMap<QString,QList<QString>> mapShowObject);//曲线数据查看
|
||||
void s_ShowTable(QString strSlfName, QString strName);//表格数据查看
|
||||
void s_ShowWave(QString strSlfName, QString strName); //波列数据查看
|
||||
void s_WelllogInformation(QString strSlfName);//编辑测井信息
|
||||
|
|
|
|||
|
|
@ -125,7 +125,71 @@ void PreQTableWidget::dropEvent(QDropEvent *event)
|
|||
//新建表格曲线
|
||||
emit CallManage::getInstance()->sig_AddTableLine(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="depthObject")
|
||||
{
|
||||
qDebug() << "新建深度";
|
||||
//新建曲线
|
||||
emit CallManage::getInstance()->sig_AddDepth(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="ganzhuangtuObject")
|
||||
{
|
||||
//新建杆状图
|
||||
emit CallManage::getInstance()->sig_AddGanZhuangTu(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="JyktObject")
|
||||
{
|
||||
//新建井眼垮塌矢量图
|
||||
emit CallManage::getInstance()->sig_AddJykt(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="DenvObject")
|
||||
{
|
||||
//新建井斜方位图
|
||||
emit CallManage::getInstance()->sig_AddDenv(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="DrawImageObject")
|
||||
{
|
||||
//图像 成图
|
||||
emit CallManage::getInstance()->sig_AddDrawImage(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="SantuyibiaoObject")
|
||||
{
|
||||
//斜井三图一表
|
||||
emit CallManage::getInstance()->sig_AddSantuyibiao(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="CrackObject")
|
||||
{
|
||||
//裂缝
|
||||
emit CallManage::getInstance()->sig_AddCrack(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="JiegutextObject")
|
||||
{
|
||||
//删除表格
|
||||
// emit CallManage::getInstance()->sig_delTableLine(m_strUuid, strWellName, strTrackName, strLineName);
|
||||
|
||||
//气测/FMT/射孔/文本
|
||||
emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="LogfaceObject")
|
||||
{
|
||||
//删除表格
|
||||
// emit CallManage::getInstance()->sig_delTableLine(m_strUuid, strWellName, strTrackName, strLineName);
|
||||
|
||||
//沉积相
|
||||
emit CallManage::getInstance()->sig_AddLogface(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="MCalsObject")
|
||||
{
|
||||
//多臂井径
|
||||
emit CallManage::getInstance()->sig_AddMCals(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="TubingstringObject")
|
||||
{
|
||||
//删除表格
|
||||
// emit CallManage::getInstance()->sig_delTableLine(m_strUuid, strWellName, strTrackName, strLineName);
|
||||
|
||||
//套管组件
|
||||
emit CallManage::getInstance()->sig_AddTubingstring(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
//
|
||||
//m_listLineName.push_back(strLineName);
|
||||
|
||||
|
|
@ -190,7 +254,62 @@ void PreQTableWidget::dropEvent(QDropEvent *event)
|
|||
//新建表格曲线
|
||||
emit CallManage::getInstance()->sig_AddTableLine(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
|
||||
else if(strType=="depthObject")
|
||||
{
|
||||
qDebug() << "新建深度";
|
||||
//新建曲线
|
||||
emit CallManage::getInstance()->sig_AddDepth(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="ganzhuangtuObject")
|
||||
{
|
||||
//新建杆状图
|
||||
emit CallManage::getInstance()->sig_AddGanZhuangTu(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="JyktObject")
|
||||
{
|
||||
//新建井眼垮塌矢量图
|
||||
emit CallManage::getInstance()->sig_AddJykt(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="DenvObject")
|
||||
{
|
||||
//新建井斜方位图
|
||||
emit CallManage::getInstance()->sig_AddDenv(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="DrawImageObject")
|
||||
{
|
||||
//图像 成图
|
||||
emit CallManage::getInstance()->sig_AddDrawImage(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="SantuyibiaoObject")
|
||||
{
|
||||
//斜井三图一表
|
||||
emit CallManage::getInstance()->sig_AddSantuyibiao(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="CrackObject")
|
||||
{
|
||||
//裂缝
|
||||
emit CallManage::getInstance()->sig_AddCrack(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="JiegutextObject")
|
||||
{
|
||||
//气测/FMT/射孔/文本
|
||||
emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="LogfaceObject")
|
||||
{
|
||||
//沉积相
|
||||
emit CallManage::getInstance()->sig_AddLogface(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="MCalsObject")
|
||||
{
|
||||
//多臂井径
|
||||
emit CallManage::getInstance()->sig_AddMCals(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="TubingstringObject")
|
||||
{
|
||||
//套管组件
|
||||
emit CallManage::getInstance()->sig_AddTubingstring(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
//
|
||||
//m_listLineName.push_back(strLineName);
|
||||
|
||||
|
|
@ -237,9 +356,10 @@ void PreQTableWidget::performDrag()
|
|||
// 执行拖拽操作
|
||||
m_AddSuc = false;
|
||||
Qt::DropAction dropAction = drag->exec(Qt::MoveAction);
|
||||
if (dropAction == Qt::MoveAction) { //&& m_AddSuc
|
||||
if (dropAction == Qt::MoveAction)
|
||||
{
|
||||
// 处理拖拽结束的逻辑,例如从界面上移除拖拽的项
|
||||
removeRow(iCurrentRow);
|
||||
// removeRow(iCurrentRow);
|
||||
if(strType=="curveObject")
|
||||
{
|
||||
//删除曲线
|
||||
|
|
@ -252,12 +372,67 @@ void PreQTableWidget::performDrag()
|
|||
}
|
||||
else if(strType=="tableObject")
|
||||
{
|
||||
//删除波列
|
||||
//删除表格
|
||||
emit CallManage::getInstance()->sig_delTableLine(m_strUuid, formInfo->m_strWellName, formInfo->m_strTrackName, formInfo->m_strLineName);
|
||||
}
|
||||
else if(strType=="depthObject")
|
||||
{
|
||||
//深度
|
||||
|
||||
//
|
||||
//m_listLineName.removeOne(formInfo->m_strLineName);
|
||||
}
|
||||
else if(strType=="ganzhuangtuObject")
|
||||
{
|
||||
//杆状图
|
||||
|
||||
}
|
||||
else if(strType=="JyktObject")
|
||||
{
|
||||
//井眼垮塌矢量图
|
||||
|
||||
}
|
||||
else if(strType=="DenvObject")
|
||||
{
|
||||
//井斜方位图
|
||||
|
||||
}
|
||||
else if(strType=="DrawImageObject")
|
||||
{
|
||||
//图像 成图
|
||||
|
||||
}
|
||||
else if(strType=="SantuyibiaoObject")
|
||||
{
|
||||
//斜井三图一表
|
||||
|
||||
}
|
||||
else if(strType=="CrackObject")
|
||||
{
|
||||
//裂缝
|
||||
|
||||
}
|
||||
else if(strType=="JiegutextObject")
|
||||
{
|
||||
//气测/FMT/射孔/文本
|
||||
//删除表格
|
||||
emit CallManage::getInstance()->sig_delTableLine(m_strUuid, formInfo->m_strWellName, formInfo->m_strTrackName, formInfo->m_strLineName);
|
||||
}
|
||||
else if(strType=="LogfaceObject")
|
||||
{
|
||||
//沉积相
|
||||
//删除表格
|
||||
emit CallManage::getInstance()->sig_delTableLine(m_strUuid, formInfo->m_strWellName, formInfo->m_strTrackName, formInfo->m_strLineName);
|
||||
}
|
||||
else if(strType=="MCalsObject")
|
||||
{
|
||||
//多臂井径
|
||||
|
||||
}
|
||||
else if(strType=="TubingstringObject")
|
||||
{
|
||||
//套管组件
|
||||
//删除表格
|
||||
emit CallManage::getInstance()->sig_delTableLine(m_strUuid, formInfo->m_strWellName, formInfo->m_strTrackName, formInfo->m_strLineName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4222,6 +4222,18 @@ void QMyCustomPlot::ClearSelectItems()
|
|||
pGroup->setSelectRect(false);
|
||||
}
|
||||
}
|
||||
else if (m_strLineName == "CORE_PHYSICS")
|
||||
{
|
||||
if(m_SelectShiftLine)
|
||||
{
|
||||
TransparentDraggableCorePhysics *tdCorePhysics = (TransparentDraggableCorePhysics*)this->m_SelectShiftLine;
|
||||
QPen pen = tdCorePhysics->qcpItemLine->pen();
|
||||
pen.setColor(tdCorePhysics->getCpLineColor());
|
||||
tdCorePhysics->qcpItemLine->setPen(pen);
|
||||
this->replot();
|
||||
m_SelectShiftLine = nullptr;
|
||||
}
|
||||
}
|
||||
//属性清空
|
||||
PropertyService()->InitCurrentViewInfo();
|
||||
}
|
||||
|
|
@ -5070,7 +5082,7 @@ void QMyCustomPlot::s_changeDepthProperty(QVariantList vlist)
|
|||
switch(temp)
|
||||
{
|
||||
case 0:
|
||||
// 偏左
|
||||
// 靠左
|
||||
this->yAxis->setTickLabelPadding(5);
|
||||
break;
|
||||
case 1:
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ QtProjectWidgets::QtProjectWidgets(QWidget *parent)
|
|||
|
||||
// 设置选择模式为多选模式
|
||||
ui->treeWidget->setSelectionMode(QAbstractItemView::ExtendedSelection); // 或者使用 QAbstractItemView::MultiSelection
|
||||
|
||||
m_ReFlag = 0;
|
||||
}
|
||||
|
||||
QtProjectWidgets::~QtProjectWidgets()
|
||||
|
|
@ -76,6 +76,19 @@ QString QtProjectWidgets::getLeftTreeString()
|
|||
return ui->treeWidget->getCurrentItemString();
|
||||
}
|
||||
|
||||
void QtProjectWidgets::slotButtonCancel()
|
||||
{
|
||||
m_ReFlag=QDialogButtonBox::StandardButton::Cancel;
|
||||
}
|
||||
void QtProjectWidgets::slotButtonOk()
|
||||
{
|
||||
m_ReFlag=QDialogButtonBox::StandardButton::Yes;
|
||||
}
|
||||
void QtProjectWidgets::slotButtonNo()
|
||||
{
|
||||
m_ReFlag=QDialogButtonBox::StandardButton::No;
|
||||
}
|
||||
|
||||
////初始化树图控件
|
||||
//void QtProjectWidgets::initTreeWidget(QString fullPath, QString strProjectName)
|
||||
//{
|
||||
|
|
@ -937,7 +950,28 @@ void QtProjectWidgets::onShowParameterCard(bool checked)
|
|||
//曲线数据查看
|
||||
void QtProjectWidgets::onShowCurve(bool checked)
|
||||
{
|
||||
emit CallManage::getInstance()->sig_ShowCurve(m_strSlfName, m_strCurveObjectName);
|
||||
m_mapShowObject.clear();
|
||||
foreach(QTreeWidgetItem *pItem, ui->treeWidget->selectedItems())
|
||||
{
|
||||
QTreeWidgetItem *parentItem = pItem->parent()->parent(); // 上两层目录是井次
|
||||
if (parentItem)
|
||||
{
|
||||
QString strSlfName = parentItem->data(0, Qt::UserRole+1).toString();
|
||||
if (strSlfName.contains(".slf"))
|
||||
{
|
||||
QString strObjectName = pItem->text(0);
|
||||
if(!m_mapShowObject.contains(strSlfName))
|
||||
{
|
||||
QList<QString> selList;
|
||||
selList.clear();
|
||||
m_mapShowObject.insert(strSlfName,selList);
|
||||
}
|
||||
m_mapShowObject[strSlfName].append(strObjectName);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(m_mapShowObject.size()>0)
|
||||
emit CallManage::getInstance()->sig_ShowCurve(m_mapShowObject);
|
||||
}
|
||||
|
||||
//深度移动
|
||||
|
|
@ -1160,41 +1194,169 @@ void QtProjectWidgets::onDeleteObject()
|
|||
|
||||
void QtProjectWidgets::onCopySelObject() // 复制
|
||||
{
|
||||
m_strCopySlfName = m_strSlfName; // 当前复制的对象Slf文件
|
||||
m_strCopyCurveObjectName = m_strCurveObjectName; // 当前复制的对象名
|
||||
m_mapCopyObject.clear();
|
||||
foreach(QTreeWidgetItem *pItem, ui->treeWidget->selectedItems())
|
||||
{
|
||||
QTreeWidgetItem *parentItem = pItem->parent()->parent(); // 上两层目录是井次
|
||||
if (parentItem)
|
||||
{
|
||||
QString strSlfName = parentItem->data(0, Qt::UserRole+1).toString();
|
||||
if (strSlfName.contains(".slf"))
|
||||
{
|
||||
QString strObjectName = pItem->text(0);
|
||||
if(!m_mapCopyObject.contains(strSlfName))
|
||||
{
|
||||
QList<QString> selList;
|
||||
selList.clear();
|
||||
m_mapCopyObject.insert(strSlfName,selList);
|
||||
}
|
||||
m_mapCopyObject[strSlfName].append(strObjectName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void QtProjectWidgets::onPasteSelObject() // 粘贴
|
||||
{
|
||||
if (m_strCopySlfName == m_strSlfName)
|
||||
int flag=0;
|
||||
int check=0;
|
||||
m_ReFlag=0;
|
||||
QList<QString> listCopySlfName = m_mapCopyObject.keys();
|
||||
for(int i= 0; i < listCopySlfName.size(); i++)
|
||||
{
|
||||
CLogIO *logio=new CLogIO;
|
||||
if(!logio->Open(m_strSlfName.toStdString().c_str(),CLogIO::modeReadWrite)) {
|
||||
delete logio;
|
||||
return;
|
||||
}
|
||||
char buf[1000];
|
||||
int i=1;
|
||||
while(1) {
|
||||
sprintf(buf,"%s_%d",m_strCopyCurveObjectName.toLocal8Bit().data(),i++);
|
||||
if (0>logio->FindObjectName(buf))
|
||||
break;
|
||||
}
|
||||
logio->CopyObject(m_strCopyCurveObjectName.toLocal8Bit().data(), buf);
|
||||
logio->Close();
|
||||
delete logio;
|
||||
|
||||
foreach(QTreeWidgetItem *pItem, ui->treeWidget->selectedItems())
|
||||
QString strCopySlfName = listCopySlfName.at(i);
|
||||
QList<QString> listObjectName = m_mapCopyObject[listCopySlfName.at(i)];
|
||||
if (strCopySlfName == m_strSlfName)
|
||||
{
|
||||
QTreeWidgetItem *parentItem = pItem/*->parent()*/; // 上一层目录是井次
|
||||
if (parentItem && m_strSlfName == parentItem->data(0, Qt::UserRole+1).toString())
|
||||
RefreshWellRoundTree(parentItem);
|
||||
parentItem = parentItem = pItem->parent();
|
||||
if (parentItem && m_strSlfName == parentItem->data(0, Qt::UserRole+1).toString())
|
||||
RefreshWellRoundTree(parentItem);
|
||||
break;
|
||||
CLogIO *logio=new CLogIO;
|
||||
if(!logio->Open(m_strSlfName.toStdString().c_str(),CLogIO::modeReadWrite)) {
|
||||
delete logio;
|
||||
return;
|
||||
}
|
||||
for(int j= 0; j < listObjectName.size(); j++)
|
||||
{
|
||||
char buf[1000];
|
||||
int nindex=1;
|
||||
while(1) {
|
||||
sprintf(buf,"%s_%d",listObjectName.at(j).toLocal8Bit().data(),nindex++);
|
||||
if (0>logio->FindObjectName(buf))
|
||||
break;
|
||||
}
|
||||
logio->CopyObject(listObjectName.at(j).toLocal8Bit().data(), buf);
|
||||
}
|
||||
logio->Close();
|
||||
delete logio;
|
||||
}
|
||||
return;
|
||||
else
|
||||
{
|
||||
for(int j= 0; j < listObjectName.size(); j++)
|
||||
{
|
||||
bool bExistence = false;
|
||||
CLogIO *logio=new CLogIO;
|
||||
if(!logio->Open(m_strSlfName.toStdString().c_str(),CLogIO::modeReadWrite)) {
|
||||
delete logio;
|
||||
return;
|
||||
}
|
||||
if (logio->FindObjectName(listObjectName.at(j).toLocal8Bit().data())>=0)
|
||||
bExistence = true;
|
||||
logio->Close();
|
||||
delete logio;
|
||||
|
||||
if((!flag||!check)&&bExistence)
|
||||
{
|
||||
QDialog dialog(NULL);
|
||||
Qt::WindowFlags flags = dialog.windowFlags();
|
||||
flags |= Qt::WindowStaysOnTopHint;
|
||||
flags &= ~Qt::WindowContextHelpButtonHint;
|
||||
dialog.setWindowTitle("提示");
|
||||
QString mess="已存在!\n 该功能只具覆盖或另创建能力,无法完成拼接操作。\n如需要进行拼接,请在图形区可视化编辑状态完成。\n请选择操作模式:\n";
|
||||
QFormLayout form(&dialog);
|
||||
form.addRow(new QLabel(listObjectName.at(j)+mess));
|
||||
QCheckBox *pCheckBox=new QCheckBox("均按下列操作",&dialog);
|
||||
form.addRow(pCheckBox);
|
||||
QDialogButtonBox buttonBox(QDialogButtonBox::Yes |QDialogButtonBox::No | QDialogButtonBox::Cancel,
|
||||
Qt::Horizontal, &dialog);
|
||||
form.addRow(&buttonBox);
|
||||
|
||||
buttonBox.button(QDialogButtonBox::Yes)->setText(QString("覆盖"));
|
||||
buttonBox.button(QDialogButtonBox::No)->setText(QString("增加"));
|
||||
buttonBox.button(QDialogButtonBox::Cancel)->setText(QString("放弃"));
|
||||
form.addRow(&buttonBox);
|
||||
QObject::connect(buttonBox.button(QDialogButtonBox::Cancel), SIGNAL(clicked()), this, SLOT(slotButtonCancel()));
|
||||
QObject::connect(buttonBox.button(QDialogButtonBox::Yes), SIGNAL(clicked()), this, SLOT(slotButtonOk()));
|
||||
QObject::connect(buttonBox.button(QDialogButtonBox::No), SIGNAL(clicked()), this, SLOT(slotButtonNo()));
|
||||
QObject::connect(&buttonBox, SIGNAL(accepted()), &dialog, SLOT(accept()));
|
||||
QObject::connect(&buttonBox, SIGNAL(rejected()), &dialog, SLOT(reject()));
|
||||
dialog.exec();
|
||||
flag=m_ReFlag;
|
||||
check=pCheckBox->checkState();
|
||||
}
|
||||
if (flag==QDialogButtonBox::Cancel)
|
||||
{
|
||||
QMessageBox::information(NULL,"Cancel","Cancel");
|
||||
continue;
|
||||
}
|
||||
else if (flag==QDialogButtonBox::Yes)
|
||||
{
|
||||
CLogIO *logio=new CLogIO;
|
||||
if(!logio->Open(m_strSlfName.toStdString().c_str(),CLogIO::modeReadWrite)) {
|
||||
delete logio;
|
||||
return;
|
||||
}
|
||||
logio->DeleteObject(listObjectName.at(j).toLocal8Bit().data());
|
||||
logio->Close();
|
||||
delete logio;
|
||||
|
||||
CObjWellLog* pcopyingwelllog= new CObjWellLog();
|
||||
pcopyingwelllog->SetSlfFileName(strCopySlfName);
|
||||
pcopyingwelllog->SetName(listObjectName.at(j));
|
||||
pcopyingwelllog->CopyToSLFFile(m_strSlfName);
|
||||
delete pcopyingwelllog;
|
||||
}
|
||||
else if (flag==QDialogButtonBox::No && bExistence)
|
||||
{
|
||||
CLogIO *logio=new CLogIO;
|
||||
if(!logio->Open(m_strSlfName.toStdString().c_str(),CLogIO::modeReadWrite)) {
|
||||
delete logio;
|
||||
return;
|
||||
}
|
||||
char buf[1000];
|
||||
int nindex=1;
|
||||
while(1) {
|
||||
sprintf(buf,"%s_%d",listObjectName.at(j).toLocal8Bit().data(),nindex++);
|
||||
if (0>logio->FindObjectName(buf))
|
||||
break;
|
||||
}
|
||||
logio->Close();
|
||||
delete logio;
|
||||
|
||||
CObjWellLog* pcopyingwelllog= new CObjWellLog();
|
||||
pcopyingwelllog->SetSlfFileName(strCopySlfName);
|
||||
pcopyingwelllog->SetName(listObjectName.at(j));
|
||||
pcopyingwelllog->CopyToSLFFile(m_strSlfName,false,buf);
|
||||
delete pcopyingwelllog;
|
||||
}
|
||||
else if (!bExistence)
|
||||
{
|
||||
CObjWellLog* pcopyingwelllog= new CObjWellLog();
|
||||
pcopyingwelllog->SetSlfFileName(strCopySlfName);
|
||||
pcopyingwelllog->SetName(listObjectName.at(j));
|
||||
pcopyingwelllog->CopyToSLFFile(m_strSlfName);
|
||||
delete pcopyingwelllog;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
foreach(QTreeWidgetItem *pItem, ui->treeWidget->selectedItems())
|
||||
{
|
||||
QTreeWidgetItem *parentItem = pItem/*->parent()*/; // 上一层目录是井次
|
||||
if (parentItem && m_strSlfName == parentItem->data(0, Qt::UserRole+1).toString())
|
||||
RefreshWellRoundTree(parentItem);
|
||||
parentItem = parentItem = pItem->parent();
|
||||
if (parentItem && m_strSlfName == parentItem->data(0, Qt::UserRole+1).toString())
|
||||
RefreshWellRoundTree(parentItem);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1489,11 +1651,11 @@ void QtProjectWidgets::onItemClicked(QTreeWidgetItem* item, int index)
|
|||
m_strSlfName = item->parent()->data(0, Qt::UserRole+1).toString();//从父节点(井次)获取slf
|
||||
}
|
||||
|
||||
if (m_strCopySlfName != m_strSlfName)
|
||||
if (m_mapCopyObject.size()==0)
|
||||
m_action_Paste->setVisible(false);
|
||||
else
|
||||
m_action_Paste->setVisible(true);
|
||||
//
|
||||
|
||||
if (qApp->mouseButtons() == Qt::RightButton) // 只针对鼠标右键,弹出菜单
|
||||
{
|
||||
if (NULL == popMenu)
|
||||
|
|
|
|||
|
|
@ -24,6 +24,9 @@ private:
|
|||
Ui::QtProjectWidgetsClass *ui;
|
||||
|
||||
public slots:
|
||||
void slotButtonOk();
|
||||
void slotButtonNo();
|
||||
void slotButtonCancel();
|
||||
//void s_initTreeWidget(QString strName);//初始化树图控件
|
||||
void s_loadTreeWidget(QString fileFull);//加载树图
|
||||
|
||||
|
|
@ -85,7 +88,7 @@ public:
|
|||
QMenu *_menuParCardFolder; //参数卡目录
|
||||
QMenu *_menuWaveFolder; //波列目录
|
||||
|
||||
QAction* m_action_Paste; //黏贴
|
||||
QAction* m_action_Paste; //粘贴
|
||||
//根节点(项目名称)-右键菜单
|
||||
QAction* m_action_New;
|
||||
QAction* m_action_Open;
|
||||
|
|
@ -99,8 +102,9 @@ public:
|
|||
QString m_strSlfName;
|
||||
QString m_strCurveObjectName;
|
||||
|
||||
QString m_strCopySlfName; // 当前复制的对象Slf文件
|
||||
QString m_strCopyCurveObjectName; // 当前复制的对象名
|
||||
QMap<QString,QList<QString>> m_mapShowObject;// 显示Slf文件里对象名
|
||||
QMap<QString,QList<QString>> m_mapCopyObject;// 复制Slf文件里对象名
|
||||
int m_ReFlag;
|
||||
|
||||
public:
|
||||
void loadIndexSysTree(QTreeWidgetItem *parent, QString fileFull, QString prjname);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user