可视视图选中井后,支持从获取到当前井对应的slf文件路径
This commit is contained in:
parent
df9db57d8c
commit
fcd9c3a685
|
|
@ -368,10 +368,20 @@ void FormWell::s_NewCol(QStringList listdt)
|
||||||
|
|
||||||
QJsonObject FormWell::makeJson()
|
QJsonObject FormWell::makeJson()
|
||||||
{
|
{
|
||||||
|
//
|
||||||
|
QString slffilename=QString("");
|
||||||
|
int ind=m_strSlfName.lastIndexOf('\\');
|
||||||
|
int ind2=m_strSlfName.lastIndexOf('/');
|
||||||
|
if(ind2>ind) ind=ind2;
|
||||||
|
if(ind>-1) {
|
||||||
|
slffilename=m_strSlfName.mid(ind+1);
|
||||||
|
}
|
||||||
|
|
||||||
// 创建根对象
|
// 创建根对象
|
||||||
QJsonObject rootObj;
|
QJsonObject rootObj;
|
||||||
//
|
//
|
||||||
rootObj["WellName"] = m_strWellName;
|
rootObj["WellName"] = m_strWellName;
|
||||||
|
rootObj["SlfName"] = slffilename;
|
||||||
|
|
||||||
// 创建JSON数组并填充数据
|
// 创建JSON数组并填充数据
|
||||||
QJsonArray subcaseArray;
|
QJsonArray subcaseArray;
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ private:
|
||||||
public:
|
public:
|
||||||
QString m_strUuid;
|
QString m_strUuid;
|
||||||
QString m_strWellName;
|
QString m_strWellName;
|
||||||
|
QString m_strSlfName="";
|
||||||
|
|
||||||
public:
|
public:
|
||||||
QJsonObject makeJson();
|
QJsonObject makeJson();
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ MainWindowCurve::MainWindowCurve(QWidget *parent) :
|
||||||
|
|
||||||
|
|
||||||
connect(this, SIGNAL(sig_NewTrackChangeWidth(QString)), this, SLOT(s_NewTrackChangeWidth(QString)));
|
connect(this, SIGNAL(sig_NewTrackChangeWidth(QString)), this, SLOT(s_NewTrackChangeWidth(QString)));
|
||||||
connect(this, SIGNAL(sig_NewWell(QString)), this, SLOT(s_NewWell(QString)));
|
//connect(this, SIGNAL(sig_NewWell(QString, QString)), this, SLOT(s_NewWell(QString, QString)));
|
||||||
|
|
||||||
connect(CallManage::getInstance(), SIGNAL(sig_mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*)));
|
connect(CallManage::getInstance(), SIGNAL(sig_mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*)));
|
||||||
connect(CallManage::getInstance(), SIGNAL(sig_changeScale(int)), this, SLOT(s_changeScale(int)));
|
connect(CallManage::getInstance(), SIGNAL(sig_changeScale(int)), this, SLOT(s_changeScale(int)));
|
||||||
|
|
@ -524,7 +524,7 @@ QJsonObject MainWindowCurve::makeJson()
|
||||||
return rootObj;
|
return rootObj;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindowCurve::s_NewWell(QString strWellName)
|
void MainWindowCurve::s_NewWell(QString strWellName, QString strSlfName)
|
||||||
{
|
{
|
||||||
//因为tableWidget需要提前规定好行数与列数
|
//因为tableWidget需要提前规定好行数与列数
|
||||||
int rowcount = 2; //总行数
|
int rowcount = 2; //总行数
|
||||||
|
|
@ -561,6 +561,7 @@ void MainWindowCurve::s_NewWell(QString strWellName)
|
||||||
ui->tableWidget_2->setRowHeight(i, 100);
|
ui->tableWidget_2->setRowHeight(i, 100);
|
||||||
//
|
//
|
||||||
QTableWidgetItem* item = new QTableWidgetItem(strWellName);
|
QTableWidgetItem* item = new QTableWidgetItem(strWellName);
|
||||||
|
item->setData(Qt::UserRole + 1, strSlfName);
|
||||||
item->setFlags(item->flags() & (~Qt::ItemIsEditable));
|
item->setFlags(item->flags() & (~Qt::ItemIsEditable));
|
||||||
item->setTextAlignment(Qt::AlignCenter); //设置文本居中
|
item->setTextAlignment(Qt::AlignCenter); //设置文本居中
|
||||||
ui->tableWidget_2->setItem(i, columnCount, item);
|
ui->tableWidget_2->setItem(i, columnCount, item);
|
||||||
|
|
@ -585,6 +586,7 @@ void MainWindowCurve::s_NewWell(QString strWellName)
|
||||||
//
|
//
|
||||||
FormWell *widgetWell = new FormWell(this, strWellName);
|
FormWell *widgetWell = new FormWell(this, strWellName);
|
||||||
widgetWell->m_strUuid = m_strUuid;
|
widgetWell->m_strUuid = m_strUuid;
|
||||||
|
widgetWell->m_strSlfName = strSlfName;
|
||||||
ui->tableWidget_2->setCellWidget(i, columnCount, widgetWell);
|
ui->tableWidget_2->setCellWidget(i, columnCount, widgetWell);
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
@ -613,15 +615,25 @@ void MainWindowCurve::mousePressEvent(QMouseEvent *event)
|
||||||
|
|
||||||
void MainWindowCurve::s_Raise(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName)
|
void MainWindowCurve::s_Raise(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName)
|
||||||
{
|
{
|
||||||
//选中了曲线置顶
|
if(m_strUuid == strUuid)
|
||||||
//取消表格选中状态
|
{
|
||||||
ui->tableWidget_2->clearSelection();
|
//
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//选中了曲线置顶
|
||||||
|
//取消表格选中状态
|
||||||
|
ui->tableWidget_2->clearSelection();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindowCurve::onItemClicked(QTableWidgetItem* item)
|
void MainWindowCurve::onItemClicked(QTableWidgetItem* item)
|
||||||
{
|
{
|
||||||
qDebug() << "MainWindowCurve onItemClicked";
|
qDebug() << "MainWindowCurve onItemClicked";
|
||||||
|
|
||||||
|
//曲线
|
||||||
|
QString strWellName = item->text();
|
||||||
|
//QString strSlfName = item->data(Qt::UserRole+1).toString();
|
||||||
|
|
||||||
PropertyService()->initWellProperty();
|
PropertyService()->initWellProperty();
|
||||||
//取消所有选中单元格
|
//取消所有选中单元格
|
||||||
emit CallManage::getInstance()->sig_Raise(m_strUuid, "", "", "", "");
|
emit CallManage::getInstance()->sig_Raise(m_strUuid, "", "", "", "");
|
||||||
|
|
@ -664,29 +676,29 @@ void MainWindowCurve::s_NewDepth()
|
||||||
{
|
{
|
||||||
int column = -1;
|
int column = -1;
|
||||||
int nW = 100;
|
int nW = 100;
|
||||||
QString strSlfName = "";
|
// QString strSlfName = "";
|
||||||
QString strLeft = m_leftWidgets->getLeftTreeString();
|
// QString strLeft = m_leftWidgets->getLeftTreeString();
|
||||||
if(strLeft.length() > 0)
|
// if(strLeft.length() > 0)
|
||||||
{
|
// {
|
||||||
QStringList list = strLeft.split("#@@#");//QString字符串分割函数
|
// QStringList list = strLeft.split("#@@#");//QString字符串分割函数
|
||||||
if (list.size() > 3)
|
// if (list.size() > 3)
|
||||||
{
|
// {
|
||||||
strSlfName = list[0];
|
// strSlfName = list[0];
|
||||||
QString strWellName = list[1];
|
// QString strWellName = list[1];
|
||||||
// QString strLineName = list[2];
|
// // QString strLineName = list[2];
|
||||||
// QString strType = list[3];
|
// // QString strType = list[3];
|
||||||
|
|
||||||
if(!m_listWell.contains(strWellName))
|
// if(!m_listWell.contains(strWellName))
|
||||||
{
|
// {
|
||||||
//井没创建,创建井+道+曲线
|
// //井没创建,创建井+道+曲线
|
||||||
//新建井
|
// //新建井
|
||||||
s_NewWell(strWellName);
|
// s_NewWell(strWellName, strSlfName);
|
||||||
m_listWell.push_back(strWellName);
|
// m_listWell.push_back(strWellName);
|
||||||
|
|
||||||
column= 0;
|
// column= 0;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
if(ui->tableWidget_2->columnCount()==0)
|
if(ui->tableWidget_2->columnCount()==0)
|
||||||
{
|
{
|
||||||
|
|
@ -716,6 +728,8 @@ void MainWindowCurve::s_NewDepth()
|
||||||
}
|
}
|
||||||
|
|
||||||
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
||||||
|
//直接从选中的井获取,data记录slf路径
|
||||||
|
QString strSlfName = ui->tableWidget_2->item(0, column)->data(Qt::UserRole+1).toString();
|
||||||
|
|
||||||
//设置列宽
|
//设置列宽
|
||||||
ui->tableWidget_2->setColumnWidth(column, iWidth+nW+8);
|
ui->tableWidget_2->setColumnWidth(column, iWidth+nW+8);
|
||||||
|
|
@ -735,29 +749,29 @@ void MainWindowCurve::s_pinLvAc()
|
||||||
{
|
{
|
||||||
int column = -1;
|
int column = -1;
|
||||||
int nW = 160;
|
int nW = 160;
|
||||||
QString strSlfName = "";
|
// QString strSlfName = "";
|
||||||
QString strLeft = m_leftWidgets->getLeftTreeString();
|
// QString strLeft = m_leftWidgets->getLeftTreeString();
|
||||||
if(strLeft.length() > 0)
|
// if(strLeft.length() > 0)
|
||||||
{
|
// {
|
||||||
QStringList list = strLeft.split("#@@#");//QString字符串分割函数
|
// QStringList list = strLeft.split("#@@#");//QString字符串分割函数
|
||||||
if (list.size() > 3)
|
// if (list.size() > 3)
|
||||||
{
|
// {
|
||||||
strSlfName = list[0];
|
// strSlfName = list[0];
|
||||||
QString strWellName = list[1];
|
// QString strWellName = list[1];
|
||||||
// QString strLineName = list[2];
|
// // QString strLineName = list[2];
|
||||||
// QString strType = list[3];
|
// // QString strType = list[3];
|
||||||
|
|
||||||
if(!m_listWell.contains(strWellName))
|
// if(!m_listWell.contains(strWellName))
|
||||||
{
|
// {
|
||||||
//井没创建,创建井+道+曲线
|
// //井没创建,创建井+道+曲线
|
||||||
//新建井
|
// //新建井
|
||||||
s_NewWell(strWellName);
|
// s_NewWell(strWellName, strSlfName);
|
||||||
m_listWell.push_back(strWellName);
|
// m_listWell.push_back(strWellName);
|
||||||
|
|
||||||
column= 0;
|
// column= 0;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
if(ui->tableWidget_2->columnCount()==0)
|
if(ui->tableWidget_2->columnCount()==0)
|
||||||
{
|
{
|
||||||
|
|
@ -787,6 +801,8 @@ void MainWindowCurve::s_pinLvAc()
|
||||||
}
|
}
|
||||||
|
|
||||||
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
||||||
|
//直接从选中的井获取,data记录slf路径
|
||||||
|
QString strSlfName = ui->tableWidget_2->item(0, column)->data(Qt::UserRole+1).toString();
|
||||||
|
|
||||||
//设置列宽
|
//设置列宽
|
||||||
ui->tableWidget_2->setColumnWidth(column, iWidth+nW+8);
|
ui->tableWidget_2->setColumnWidth(column, iWidth+nW+8);
|
||||||
|
|
@ -804,16 +820,16 @@ void MainWindowCurve::s_pinLvAc()
|
||||||
|
|
||||||
void MainWindowCurve::s_NewGanZhuangTu()
|
void MainWindowCurve::s_NewGanZhuangTu()
|
||||||
{
|
{
|
||||||
QString strSlfName = "";
|
// QString strSlfName = "";
|
||||||
QString strLeft = m_leftWidgets->getLeftTreeString();
|
// QString strLeft = m_leftWidgets->getLeftTreeString();
|
||||||
if(strLeft.length() > 0)
|
// if(strLeft.length() > 0)
|
||||||
{
|
// {
|
||||||
QStringList list = strLeft.split("#@@#");//QString字符串分割函数
|
// QStringList list = strLeft.split("#@@#");//QString字符串分割函数
|
||||||
if (list.size() > 3)
|
// if (list.size() > 3)
|
||||||
{
|
// {
|
||||||
strSlfName = list[0];
|
// strSlfName = list[0];
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
if(ui->tableWidget_2->columnCount()==0)
|
if(ui->tableWidget_2->columnCount()==0)
|
||||||
{
|
{
|
||||||
|
|
@ -837,6 +853,9 @@ void MainWindowCurve::s_NewGanZhuangTu()
|
||||||
}
|
}
|
||||||
|
|
||||||
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
||||||
|
//直接从选中的井获取,data记录slf路径
|
||||||
|
QString strSlfName = ui->tableWidget_2->item(0, column)->data(Qt::UserRole+1).toString();
|
||||||
|
|
||||||
int iWidth = ui->tableWidget_2->columnWidth(column);
|
int iWidth = ui->tableWidget_2->columnWidth(column);
|
||||||
|
|
||||||
int nW = 320;
|
int nW = 320;
|
||||||
|
|
@ -850,16 +869,16 @@ void MainWindowCurve::s_NewGanZhuangTu()
|
||||||
//井眼垮塌矢量图
|
//井眼垮塌矢量图
|
||||||
void MainWindowCurve::s_Jykt()
|
void MainWindowCurve::s_Jykt()
|
||||||
{
|
{
|
||||||
QString strSlfName = "";
|
// QString strSlfName = "";
|
||||||
QString strLeft = m_leftWidgets->getLeftTreeString();
|
// QString strLeft = m_leftWidgets->getLeftTreeString();
|
||||||
if(strLeft.length() > 0)
|
// if(strLeft.length() > 0)
|
||||||
{
|
// {
|
||||||
QStringList list = strLeft.split("#@@#");//QString字符串分割函数
|
// QStringList list = strLeft.split("#@@#");//QString字符串分割函数
|
||||||
if (list.size() > 3)
|
// if (list.size() > 3)
|
||||||
{
|
// {
|
||||||
strSlfName = list[0];
|
// strSlfName = list[0];
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
if(ui->tableWidget_2->columnCount()==0)
|
if(ui->tableWidget_2->columnCount()==0)
|
||||||
{
|
{
|
||||||
|
|
@ -885,6 +904,9 @@ void MainWindowCurve::s_Jykt()
|
||||||
}
|
}
|
||||||
|
|
||||||
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
||||||
|
//直接从选中的井获取,data记录slf路径
|
||||||
|
QString strSlfName = ui->tableWidget_2->item(0, column)->data(Qt::UserRole+1).toString();
|
||||||
|
|
||||||
int iWidth = ui->tableWidget_2->columnWidth(column);
|
int iWidth = ui->tableWidget_2->columnWidth(column);
|
||||||
|
|
||||||
int nW = 320;
|
int nW = 320;
|
||||||
|
|
@ -898,16 +920,16 @@ void MainWindowCurve::s_Jykt()
|
||||||
//井斜方位图
|
//井斜方位图
|
||||||
void MainWindowCurve::s_Denv()
|
void MainWindowCurve::s_Denv()
|
||||||
{
|
{
|
||||||
QString strSlfName = "";
|
// QString strSlfName = "";
|
||||||
QString strLeft = m_leftWidgets->getLeftTreeString();
|
// QString strLeft = m_leftWidgets->getLeftTreeString();
|
||||||
if(strLeft.length() > 0)
|
// if(strLeft.length() > 0)
|
||||||
{
|
// {
|
||||||
QStringList list = strLeft.split("#@@#");//QString字符串分割函数
|
// QStringList list = strLeft.split("#@@#");//QString字符串分割函数
|
||||||
if (list.size() > 3)
|
// if (list.size() > 3)
|
||||||
{
|
// {
|
||||||
strSlfName = list[0];
|
// strSlfName = list[0];
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
if(ui->tableWidget_2->columnCount()==0)
|
if(ui->tableWidget_2->columnCount()==0)
|
||||||
{
|
{
|
||||||
|
|
@ -933,6 +955,9 @@ void MainWindowCurve::s_Denv()
|
||||||
}
|
}
|
||||||
|
|
||||||
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
||||||
|
//直接从选中的井获取,data记录slf路径
|
||||||
|
QString strSlfName = ui->tableWidget_2->item(0, column)->data(Qt::UserRole+1).toString();
|
||||||
|
|
||||||
int iWidth = ui->tableWidget_2->columnWidth(column);
|
int iWidth = ui->tableWidget_2->columnWidth(column);
|
||||||
|
|
||||||
int nW = 320;
|
int nW = 320;
|
||||||
|
|
@ -946,16 +971,16 @@ void MainWindowCurve::s_Denv()
|
||||||
//图像 成图
|
//图像 成图
|
||||||
void MainWindowCurve::s_DrawImage()
|
void MainWindowCurve::s_DrawImage()
|
||||||
{
|
{
|
||||||
QString strSlfName = "";
|
// QString strSlfName = "";
|
||||||
QString strLeft = m_leftWidgets->getLeftTreeString();
|
// QString strLeft = m_leftWidgets->getLeftTreeString();
|
||||||
if(strLeft.length() > 0)
|
// if(strLeft.length() > 0)
|
||||||
{
|
// {
|
||||||
QStringList list = strLeft.split("#@@#");//QString字符串分割函数
|
// QStringList list = strLeft.split("#@@#");//QString字符串分割函数
|
||||||
if (list.size() > 3)
|
// if (list.size() > 3)
|
||||||
{
|
// {
|
||||||
strSlfName = list[0];
|
// strSlfName = list[0];
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
if(ui->tableWidget_2->columnCount()==0)
|
if(ui->tableWidget_2->columnCount()==0)
|
||||||
{
|
{
|
||||||
|
|
@ -981,6 +1006,9 @@ void MainWindowCurve::s_DrawImage()
|
||||||
}
|
}
|
||||||
|
|
||||||
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
||||||
|
//直接从选中的井获取,data记录slf路径
|
||||||
|
QString strSlfName = ui->tableWidget_2->item(0, column)->data(Qt::UserRole+1).toString();
|
||||||
|
|
||||||
int iWidth = ui->tableWidget_2->columnWidth(column);
|
int iWidth = ui->tableWidget_2->columnWidth(column);
|
||||||
|
|
||||||
int nW = 320;
|
int nW = 320;
|
||||||
|
|
@ -1046,7 +1074,7 @@ void MainWindowCurve::NewWellAndTrack(QString strWellName, QString strSlfName, Q
|
||||||
{
|
{
|
||||||
//井没创建,创建井+道+曲线
|
//井没创建,创建井+道+曲线
|
||||||
//新建井
|
//新建井
|
||||||
s_NewWell(strWellName);
|
s_NewWell(strWellName, strSlfName);
|
||||||
m_listWell.push_back(strWellName);
|
m_listWell.push_back(strWellName);
|
||||||
|
|
||||||
//新建道+曲线
|
//新建道+曲线
|
||||||
|
|
@ -1676,6 +1704,7 @@ void MainWindowCurve::DisplayWells(QJsonArray wellsArray)
|
||||||
void MainWindowCurve::DisplayWell_One(QJsonObject wellObjInfo)
|
void MainWindowCurve::DisplayWell_One(QJsonObject wellObjInfo)
|
||||||
{
|
{
|
||||||
QString strWellName = "";
|
QString strWellName = "";
|
||||||
|
QString strSlfName = "";
|
||||||
QJsonArray tracksArray;
|
QJsonArray tracksArray;
|
||||||
|
|
||||||
if (wellObjInfo.contains("WellName"))
|
if (wellObjInfo.contains("WellName"))
|
||||||
|
|
@ -1687,10 +1716,29 @@ void MainWindowCurve::DisplayWell_One(QJsonObject wellObjInfo)
|
||||||
|
|
||||||
//新建井
|
//新建井
|
||||||
//mainWindowCurve->s_NewWell(strWellName);
|
//mainWindowCurve->s_NewWell(strWellName);
|
||||||
s_NewWell(strWellName);
|
//s_NewWell(strWellName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (wellObjInfo.contains("SlfName"))
|
||||||
|
{
|
||||||
|
QJsonValue value = wellObjInfo.value("SlfName");
|
||||||
|
if (value.isString()) {
|
||||||
|
strSlfName = value.toString();
|
||||||
|
qDebug() << "strSlfName:" << strSlfName;
|
||||||
|
|
||||||
|
//新建井
|
||||||
|
//mainWindowCurve->s_NewWell(strWellName);
|
||||||
|
//s_NewWell(strWellName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//新建井
|
||||||
|
QString folderPath = GetLogdataPath();
|
||||||
|
folderPath = folderPath + g_prjname;
|
||||||
|
strSlfName = folderPath + "/" + "#" + strWellName + "/" + strSlfName;
|
||||||
|
s_NewWell(strWellName, strSlfName);
|
||||||
|
|
||||||
//
|
//
|
||||||
if (wellObjInfo.contains("formTracks"))
|
if (wellObjInfo.contains("formTracks"))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -98,7 +98,7 @@ signals:
|
||||||
void sig_NewWell(QString strWellName);
|
void sig_NewWell(QString strWellName);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void s_NewWell(QString strWellName);//新建井
|
void s_NewWell(QString strWellName, QString strSlfName);//新建井
|
||||||
void s_NewTrackChangeWidth(QString strWellName);//新建道后,改变井宽
|
void s_NewTrackChangeWidth(QString strWellName);//新建道后,改变井宽
|
||||||
void s_NewTrack_No_Line(QString strWellName, QString strTrackName);//新建空白道,没有曲线
|
void s_NewTrack_No_Line(QString strWellName, QString strTrackName);//新建空白道,没有曲线
|
||||||
void s_AddLine_Property(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName,
|
void s_AddLine_Property(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user