1.追加波列数据校深 2.左侧树图支持ctrl键多选
This commit is contained in:
parent
da29d6680a
commit
359fd529f1
|
|
@ -58,6 +58,10 @@ QtProjectWidgets::QtProjectWidgets(QWidget *parent)
|
||||||
//为树 tree 创建信号槽,鼠标press时会触发对应的信号。
|
//为树 tree 创建信号槽,鼠标press时会触发对应的信号。
|
||||||
connect(ui->treeWidget, &QTreeWidget::itemPressed, this, &QtProjectWidgets::onItemClicked);
|
connect(ui->treeWidget, &QTreeWidget::itemPressed, this, &QtProjectWidgets::onItemClicked);
|
||||||
//connect(ui->treeWidget, &QTreeWidget::itemChanged, this, &QtProjectWidgets::onItemChanged);
|
//connect(ui->treeWidget, &QTreeWidget::itemChanged, this, &QtProjectWidgets::onItemChanged);
|
||||||
|
|
||||||
|
// 设置选择模式为多选模式
|
||||||
|
ui->treeWidget->setSelectionMode(QAbstractItemView::ExtendedSelection); // 或者使用 QAbstractItemView::MultiSelection
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QtProjectWidgets::~QtProjectWidgets()
|
QtProjectWidgets::~QtProjectWidgets()
|
||||||
|
|
@ -622,6 +626,10 @@ void QtProjectWidgets::initMenu()
|
||||||
_menuCurveObject = new QMenu(ui->treeWidget);
|
_menuCurveObject = new QMenu(ui->treeWidget);
|
||||||
initCurveObjectTreeMenu(_menuCurveObject, ui->treeWidget);
|
initCurveObjectTreeMenu(_menuCurveObject, ui->treeWidget);
|
||||||
|
|
||||||
|
//波列对象-右键菜单
|
||||||
|
_menuWaveObject = new QMenu(ui->treeWidget);
|
||||||
|
initWaveObjectTreeMenu(_menuWaveObject, ui->treeWidget);
|
||||||
|
|
||||||
//表格对象-右键菜单
|
//表格对象-右键菜单
|
||||||
_menuTableObject = new QMenu(ui->treeWidget);
|
_menuTableObject = new QMenu(ui->treeWidget);
|
||||||
initTableObjectTreeMenu(_menuTableObject, ui->treeWidget);
|
initTableObjectTreeMenu(_menuTableObject, ui->treeWidget);
|
||||||
|
|
@ -671,6 +679,20 @@ void QtProjectWidgets::initCurveObjectTreeMenu(QMenu *menu, QTreeWidget *treeWid
|
||||||
menu->addAction(m_action_DepthShift);
|
menu->addAction(m_action_DepthShift);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//初始化波列对象-右键菜单
|
||||||
|
void QtProjectWidgets::initWaveObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget)
|
||||||
|
{
|
||||||
|
// QAction* action_WaveObject = new QAction("数据查看", treeWidget);
|
||||||
|
// action_WaveObject->setIcon(QIcon(GetImagePath() + "icon/Sheet.png")); // 设置图标
|
||||||
|
// connect(action_WaveObject, SIGNAL(triggered(bool)), this, SLOT(onShowWave(bool)));
|
||||||
|
// menu->addAction(action_WaveObject);
|
||||||
|
//
|
||||||
|
QAction* action_DepthShift = new QAction("深度移动", treeWidget);
|
||||||
|
action_DepthShift->setIcon(QIcon(GetImagePath() + "icon/RigidDepthShifting.png")); // 设置图标
|
||||||
|
connect(action_DepthShift, SIGNAL(triggered(bool)), this, SLOT(onDepthShift(bool)));
|
||||||
|
menu->addAction(action_DepthShift);
|
||||||
|
}
|
||||||
|
|
||||||
//初始化表格对象-右键菜单
|
//初始化表格对象-右键菜单
|
||||||
void QtProjectWidgets::initTableObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget)
|
void QtProjectWidgets::initTableObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget)
|
||||||
{
|
{
|
||||||
|
|
@ -805,11 +827,27 @@ void QtProjectWidgets::onDepthShift(bool checked)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//emit CallManage::getInstance()->sig_DepthShift(m_strSlfName, m_strCurveObjectName, depthshift);
|
//支持多选
|
||||||
|
foreach(QTreeWidgetItem *item, ui->treeWidget->selectedItems())
|
||||||
|
{
|
||||||
|
QString strTreeTag = item->data(0, Qt::UserRole).toString();
|
||||||
|
if (strTreeTag == "curveObject" || strTreeTag=="waveObject" || strTreeTag == "tableObject")
|
||||||
|
{
|
||||||
|
QString strLineName = item->text(0);
|
||||||
|
QString strSlfName = item->data(0, Qt::UserRole+1).toString();
|
||||||
|
|
||||||
|
//
|
||||||
|
ApplyShiftDepth(strSlfName, strLineName, depthshift);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void QtProjectWidgets::ApplyShiftDepth(QString strSlfName, QString strLineName, double DepthOffset)
|
||||||
|
{
|
||||||
//1.修改内存数据
|
//1.修改内存数据
|
||||||
if(m_strSlfName=="") return ;
|
if(strSlfName=="") return ;
|
||||||
CMemRdWt * logio=new CMemRdWt();
|
CMemRdWt * logio=new CMemRdWt();
|
||||||
if(!logio->Open(m_strSlfName.toStdString().c_str(),CSlfIO::modeReadWrite))
|
if(!logio->Open(strSlfName.toStdString().c_str(),CSlfIO::modeReadWrite))
|
||||||
{
|
{
|
||||||
delete logio;
|
delete logio;
|
||||||
//AppendConsole(pai::log::PAI_ERROR,"SLF文件打开失败,请检查!");
|
//AppendConsole(pai::log::PAI_ERROR,"SLF文件打开失败,请检查!");
|
||||||
|
|
@ -817,12 +855,12 @@ void QtProjectWidgets::onDepthShift(bool checked)
|
||||||
};
|
};
|
||||||
bool isok=0;
|
bool isok=0;
|
||||||
//TODO 目前对于表格类,参数卡类不支持,会崩溃
|
//TODO 目前对于表格类,参数卡类不支持,会崩溃
|
||||||
int curveindex=logio->FindObjectName((char *)m_strCurveObjectName.toStdString().c_str());
|
int curveindex=logio->FindObjectName((char *)strLineName.toStdString().c_str());
|
||||||
if(curveindex>=0) {
|
if(curveindex>=0) {
|
||||||
CString szBuffer="";
|
CString szBuffer="";
|
||||||
szBuffer=QString::number(depthshift,'f',3)+"\r\n";
|
szBuffer=QString::number(DepthOffset,'f',3)+"\r\n";
|
||||||
WriteShiftMessage(*logio,szBuffer,m_strCurveObjectName);
|
WriteShiftMessage(*logio,szBuffer,strLineName);
|
||||||
logio->CorrectObjectDepth(curveindex, depthshift);
|
logio->CorrectObjectDepth(curveindex, DepthOffset);
|
||||||
isok=1;
|
isok=1;
|
||||||
}
|
}
|
||||||
delete logio;
|
delete logio;
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ public slots:
|
||||||
|
|
||||||
//曲线
|
//曲线
|
||||||
void onShowCurve(bool checked = false); //数据查看
|
void onShowCurve(bool checked = false); //数据查看
|
||||||
|
void ApplyShiftDepth(QString strSlfName, QString strLineName, double DepthOffset);
|
||||||
void onDepthShift(bool checked = false); //深度移动
|
void onDepthShift(bool checked = false); //深度移动
|
||||||
//表格
|
//表格
|
||||||
void onShowTable(bool checked = false); //数据查看
|
void onShowTable(bool checked = false); //数据查看
|
||||||
|
|
@ -60,6 +61,7 @@ public:
|
||||||
//右键菜单
|
//右键菜单
|
||||||
QMenu *_menuRoot;
|
QMenu *_menuRoot;
|
||||||
QMenu *_menuCurveObject; //曲线对象(AC、BS...)
|
QMenu *_menuCurveObject; //曲线对象(AC、BS...)
|
||||||
|
QMenu *_menuWaveObject; //波列对象
|
||||||
QMenu *_menuTableObject; //表格对象
|
QMenu *_menuTableObject; //表格对象
|
||||||
QMenu *_menuWellName; //井名
|
QMenu *_menuWellName; //井名
|
||||||
QMenu *_menuSlfName; //井次
|
QMenu *_menuSlfName; //井次
|
||||||
|
|
@ -89,6 +91,8 @@ public:
|
||||||
void initRootTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
void initRootTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
||||||
//初始化曲线对象(AC、BS...)-右键菜单
|
//初始化曲线对象(AC、BS...)-右键菜单
|
||||||
void initCurveObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
void initCurveObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
||||||
|
//初始化波列对象-右键菜单
|
||||||
|
void initWaveObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
||||||
//初始化表格对象-右键菜单
|
//初始化表格对象-右键菜单
|
||||||
void initTableObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
void initTableObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
||||||
//初始化根节点(井名称)-右键菜单
|
//初始化根节点(井名称)-右键菜单
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user