添加复制,黏贴,删除
This commit is contained in:
parent
09f7d283c8
commit
cf16a247f8
|
|
@ -625,6 +625,10 @@ void QtProjectWidgets::loadWellTree(QTreeWidgetItem *parent, QString fileFull, Q
|
|||
//初始化树形控件中的右键菜单
|
||||
void QtProjectWidgets::initMenu()
|
||||
{
|
||||
m_action_Paste = new QAction("粘贴", ui->treeWidget);
|
||||
m_action_Paste ->setIcon(QIcon(GetImagePath() + "icon/Copy.png")); // 设置图标":/image/u174.png"
|
||||
connect(m_action_Paste, SIGNAL(triggered()), this, SLOT(onPasteSelObject()));
|
||||
|
||||
//根节点(项目名称)-右键菜单
|
||||
_menuRoot = new QMenu(ui->treeWidget);
|
||||
initRootTreeMenu(_menuRoot, ui->treeWidget);
|
||||
|
|
@ -657,6 +661,14 @@ void QtProjectWidgets::initMenu()
|
|||
_menuTableFolder = new QMenu(ui->treeWidget);
|
||||
initTableFolderTreeMenu(_menuTableFolder, ui->treeWidget);
|
||||
|
||||
_menuCurveFolder = new QMenu(ui->treeWidget);
|
||||
initCurveFolderTreeMenu(_menuCurveFolder, ui->treeWidget);
|
||||
|
||||
_menuParCardFolder = new QMenu(ui->treeWidget);
|
||||
initParCardFolderTreeMenu(_menuParCardFolder, ui->treeWidget);
|
||||
|
||||
_menuWaveFolder = new QMenu(ui->treeWidget);
|
||||
initWaveFolderTreeMenu(_menuWaveFolder, ui->treeWidget);
|
||||
// //评估方案-右键菜单
|
||||
// _menuEvaluate = new QMenu(ui->treeWidget);
|
||||
// initEvaluateTreeMenu(_menuEvaluate, ui->treeWidget);
|
||||
|
|
@ -708,6 +720,16 @@ void QtProjectWidgets::initParameterCardTreeMenu(QMenu *menu, QTreeWidget *treeW
|
|||
action_CardObject->setIcon(QIcon(GetImagePath() + "icon/Sheet.png")); // 设置图标":/image/u174.png"
|
||||
connect(action_CardObject, SIGNAL(triggered(bool)), this, SLOT(onShowParameterCard(bool)));
|
||||
menu->addAction(action_CardObject);
|
||||
|
||||
QAction* action_Copy = new QAction("复制", treeWidget);
|
||||
action_Copy->setIcon(QIcon(GetImagePath() + "icon/Copy.png")); // 设置图标":/image/u174.png"
|
||||
connect(action_Copy, SIGNAL(triggered()), this, SLOT(onCopySelObject()));
|
||||
menu->addAction(action_Copy);
|
||||
|
||||
QAction* action_Delete = new QAction("删除", treeWidget);
|
||||
action_Delete->setIcon(QIcon(GetImagePath() + "icon/Delete.png")); // 设置图标":/image/u174.png"
|
||||
connect(action_Delete, SIGNAL(triggered()), this, SLOT(onDeleteObject()));
|
||||
menu->addAction(action_Delete);
|
||||
}
|
||||
|
||||
//初始化曲线对象(AC、BS...)-右键菜单
|
||||
|
|
@ -722,6 +744,16 @@ void QtProjectWidgets::initCurveObjectTreeMenu(QMenu *menu, QTreeWidget *treeWid
|
|||
m_action_DepthShift->setIcon(QIcon(GetImagePath() + "icon/RigidDepthShifting.png")); // 设置图标
|
||||
connect(m_action_DepthShift, SIGNAL(triggered(bool)), this, SLOT(onDepthShift(bool)));
|
||||
menu->addAction(m_action_DepthShift);
|
||||
|
||||
QAction* action_Copy = new QAction("复制", treeWidget);
|
||||
action_Copy->setIcon(QIcon(GetImagePath() + "icon/Copy.png")); // 设置图标":/image/u174.png"
|
||||
connect(action_Copy, SIGNAL(triggered()), this, SLOT(onCopySelObject()));
|
||||
menu->addAction(action_Copy);
|
||||
|
||||
QAction* action_Delete = new QAction("删除", treeWidget);
|
||||
action_Delete->setIcon(QIcon(GetImagePath() + "icon/Delete.png")); // 设置图标":/image/u174.png"
|
||||
connect(action_Delete, SIGNAL(triggered()), this, SLOT(onDeleteObject()));
|
||||
menu->addAction(action_Delete);
|
||||
}
|
||||
|
||||
//初始化波列对象-右键菜单
|
||||
|
|
@ -736,6 +768,16 @@ void QtProjectWidgets::initWaveObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidg
|
|||
action_DepthShift->setIcon(QIcon(GetImagePath() + "icon/RigidDepthShifting.png")); // 设置图标
|
||||
connect(action_DepthShift, SIGNAL(triggered(bool)), this, SLOT(onDepthShift(bool)));
|
||||
menu->addAction(action_DepthShift);
|
||||
|
||||
QAction* action_Copy = new QAction("复制", treeWidget);
|
||||
action_Copy->setIcon(QIcon(GetImagePath() + "icon/Copy.png")); // 设置图标":/image/u174.png"
|
||||
connect(action_Copy, SIGNAL(triggered()), this, SLOT(onCopySelObject()));
|
||||
menu->addAction(action_Copy);
|
||||
|
||||
QAction* action_Delete = new QAction("删除", treeWidget);
|
||||
action_Delete->setIcon(QIcon(GetImagePath() + "icon/Delete.png")); // 设置图标":/image/u174.png"
|
||||
connect(action_Delete, SIGNAL(triggered()), this, SLOT(onDeleteObject()));
|
||||
menu->addAction(action_Delete);
|
||||
}
|
||||
|
||||
//初始化表格对象-右键菜单
|
||||
|
|
@ -750,6 +792,16 @@ void QtProjectWidgets::initTableObjectTreeMenu(QMenu *menu, QTreeWidget *treeWid
|
|||
action_DepthShift->setIcon(QIcon(GetImagePath() + "icon/RigidDepthShifting.png")); // 设置图标
|
||||
connect(action_DepthShift, SIGNAL(triggered(bool)), this, SLOT(onDepthShift(bool)));
|
||||
menu->addAction(action_DepthShift);
|
||||
|
||||
QAction* action_Copy = new QAction("复制", treeWidget);
|
||||
action_Copy->setIcon(QIcon(GetImagePath() + "icon/Copy.png")); // 设置图标":/image/u174.png"
|
||||
connect(action_Copy, SIGNAL(triggered()), this, SLOT(onCopySelObject()));
|
||||
menu->addAction(action_Copy);
|
||||
|
||||
QAction* action_Delete = new QAction("删除", treeWidget);
|
||||
action_Delete->setIcon(QIcon(GetImagePath() + "icon/Delete.png")); // 设置图标":/image/u174.png"
|
||||
connect(action_Delete, SIGNAL(triggered()), this, SLOT(onDeleteObject()));
|
||||
menu->addAction(action_Delete);
|
||||
}
|
||||
|
||||
//初始化根节点(井名称)-右键菜单
|
||||
|
|
@ -793,6 +845,7 @@ void QtProjectWidgets::initSlfNameTreeMenu(QMenu *menu, QTreeWidget *treeWidget)
|
|||
action_New->setIcon(QIcon(GetImagePath() + "icon/Edit.png")); // 设置图标
|
||||
connect(action_New, SIGNAL(triggered(bool)), this, SLOT(onWelllogInformation()));
|
||||
menu->addAction(action_New);
|
||||
menu->addAction(m_action_Paste);
|
||||
|
||||
//
|
||||
QAction* action_DepthShift = new QAction("深度移动", treeWidget);
|
||||
|
|
@ -808,8 +861,24 @@ void QtProjectWidgets::initTableFolderTreeMenu(QMenu *menu, QTreeWidget *treeWid
|
|||
action_New->setIcon(QIcon(GetImagePath() + "icon/CreateTable.png")); // 设置图标
|
||||
connect(action_New, SIGNAL(triggered(bool)), this, SLOT(onCreateNewTable()));
|
||||
menu->addAction(action_New);
|
||||
}
|
||||
|
||||
menu->addAction(m_action_Paste);
|
||||
}
|
||||
//初始化根节点(曲线表目录)-右键菜单
|
||||
void QtProjectWidgets::initCurveFolderTreeMenu(QMenu *menu, QTreeWidget *treeWidget)
|
||||
{
|
||||
menu->addAction(m_action_Paste);
|
||||
}
|
||||
//初始化根节点(参数卡目录)-右键菜单
|
||||
void QtProjectWidgets::initParCardFolderTreeMenu(QMenu *menu, QTreeWidget *treeWidget)
|
||||
{
|
||||
menu->addAction(m_action_Paste);
|
||||
}
|
||||
//初始化根节点(波列目录)-右键菜单
|
||||
void QtProjectWidgets::initWaveFolderTreeMenu(QMenu *menu, QTreeWidget *treeWidget)
|
||||
{
|
||||
menu->addAction(m_action_Paste);
|
||||
}
|
||||
//新建项目
|
||||
void QtProjectWidgets::onNewProject(bool checked)
|
||||
{
|
||||
|
|
@ -1069,6 +1138,92 @@ void QtProjectWidgets::onCreateNewTable()
|
|||
}
|
||||
}
|
||||
|
||||
//删除(曲线、表格、波列、参数卡)
|
||||
void QtProjectWidgets::onDeleteObject()
|
||||
{
|
||||
CLogIO *logio=new CLogIO;
|
||||
if(!logio->Open(m_strSlfName.toStdString().c_str(),CLogIO::modeReadWrite)) {
|
||||
delete logio;
|
||||
return;
|
||||
}
|
||||
logio->DeleteObject(m_strCurveObjectName.toLocal8Bit().data());
|
||||
logio->Close();
|
||||
|
||||
foreach(QTreeWidgetItem *pItem, ui->treeWidget->selectedItems())
|
||||
{
|
||||
QTreeWidgetItem *parentItem = pItem->parent()->parent(); // 上两层目录是井次
|
||||
RefreshWellRoundTree(parentItem);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void QtProjectWidgets::onCopySelObject() // 复制
|
||||
{
|
||||
m_strCopySlfName = m_strSlfName; // 当前复制的对象Slf文件
|
||||
m_strCopyCurveObjectName = m_strCurveObjectName; // 当前复制的对象名
|
||||
}
|
||||
|
||||
void QtProjectWidgets::onPasteSelObject() // 粘贴
|
||||
{
|
||||
if (m_strCopySlfName == m_strSlfName)
|
||||
{
|
||||
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.toStdString().c_str(),i++);
|
||||
if (0>logio->FindObjectName(buf))
|
||||
break;
|
||||
}
|
||||
logio->CopyObject(m_strCopyCurveObjectName.toStdString().c_str(), buf);
|
||||
logio->Close();
|
||||
delete logio;
|
||||
|
||||
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;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//刷新井次树
|
||||
void QtProjectWidgets::RefreshWellRoundTree(QTreeWidgetItem *parentItem)
|
||||
{
|
||||
if (parentItem && m_strSlfName == parentItem->data(0, Qt::UserRole+1).toString())
|
||||
{
|
||||
// qDeleteAll(parentItem->takeChildren());
|
||||
QTreeWidgetItem *pWellItem = parentItem->parent();
|
||||
QString Wellname = parentItem->text(0);
|
||||
// parentItem->setExpanded(false);
|
||||
loadWellTree(parentItem->parent(), m_strSlfName, Wellname);
|
||||
pWellItem->removeChild(parentItem);
|
||||
pWellItem->setExpanded(true);
|
||||
|
||||
int WellCount = pWellItem->childCount();
|
||||
for (int i = 0; i < WellCount; ++i)
|
||||
{
|
||||
QTreeWidgetItem *childItem = pWellItem->child(i);
|
||||
childItem->setExpanded(true);
|
||||
int childCount = childItem->childCount();
|
||||
for (int j = 0; j < childCount; ++j)
|
||||
{
|
||||
childItem->child(j)->setExpanded(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void QtProjectWidgets::onEditWelllogRound()
|
||||
{
|
||||
QTreeWidgetItem *wellItem = *ui->treeWidget->selectedItems().begin();
|
||||
|
|
@ -1298,7 +1453,29 @@ void QtProjectWidgets::onItemClicked(QTreeWidgetItem* item, int index)
|
|||
popMenu = _menuTableFolder;
|
||||
m_strSlfName = item->parent()->data(0, Qt::UserRole+1).toString();//从父节点(井次)获取slf
|
||||
}
|
||||
else if (strTreeTag == "ParameterCard")
|
||||
{
|
||||
//表格数据-右键菜单
|
||||
popMenu = _menuParCardFolder;
|
||||
m_strSlfName = item->parent()->data(0, Qt::UserRole+1).toString();//从父节点(井次)获取slf
|
||||
}
|
||||
else if (strTreeTag == "Wave")
|
||||
{
|
||||
//波列数据-右键菜单
|
||||
popMenu = _menuWaveFolder;
|
||||
m_strSlfName = item->parent()->data(0, Qt::UserRole+1).toString();//从父节点(井次)获取slf
|
||||
}
|
||||
else if (strTreeTag == "Curve")
|
||||
{
|
||||
//曲线数据-右键菜单
|
||||
popMenu = _menuTableFolder;
|
||||
m_strSlfName = item->parent()->data(0, Qt::UserRole+1).toString();//从父节点(井次)获取slf
|
||||
}
|
||||
|
||||
if (m_strCopySlfName != m_strSlfName)
|
||||
m_action_Paste->setVisible(false);
|
||||
else
|
||||
m_action_Paste->setVisible(true);
|
||||
//
|
||||
if (qApp->mouseButtons() == Qt::RightButton) // 只针对鼠标右键,弹出菜单
|
||||
{
|
||||
|
|
|
|||
|
|
@ -57,8 +57,12 @@ public slots:
|
|||
void onWelllogInformation(); //编辑测井信息
|
||||
void onDepthShift_Well(bool checked = false); //深度移动
|
||||
//表格数据 根节点
|
||||
void onCreateNewTable(); //创建新表
|
||||
|
||||
void onCreateNewTable(); //创建新表
|
||||
//删除(曲线、表格、波列、参数卡)
|
||||
void onDeleteObject(); // 删除
|
||||
void onCopySelObject(); // 复制
|
||||
void onPasteSelObject(); // 粘贴
|
||||
void RefreshWellRoundTree(QTreeWidgetItem *parentItem); // 刷新井次树
|
||||
//向左侧树图,追加固井结论表格
|
||||
void s_AddGujingToTree(QString strSlfName, QString strWellName, QString strLineName);
|
||||
|
||||
|
|
@ -77,7 +81,11 @@ public:
|
|||
QMenu *_menuWellName; //井名
|
||||
QMenu *_menuSlfName; //井次
|
||||
QMenu *_menuTableFolder; //表目录
|
||||
QMenu *_menuCurveFolder; //曲线目录
|
||||
QMenu *_menuParCardFolder; //参数卡目录
|
||||
QMenu *_menuWaveFolder; //波列目录
|
||||
|
||||
QAction* m_action_Paste; //黏贴
|
||||
//根节点(项目名称)-右键菜单
|
||||
QAction* m_action_New;
|
||||
QAction* m_action_Open;
|
||||
|
|
@ -91,6 +99,9 @@ public:
|
|||
QString m_strSlfName;
|
||||
QString m_strCurveObjectName;
|
||||
|
||||
QString m_strCopySlfName; // 当前复制的对象Slf文件
|
||||
QString m_strCopyCurveObjectName; // 当前复制的对象名
|
||||
|
||||
public:
|
||||
void loadIndexSysTree(QTreeWidgetItem *parent, QString fileFull, QString prjname);
|
||||
void loadWellTree(QTreeWidgetItem *parent, QString fileFull, QString parentWellname);
|
||||
|
|
@ -116,6 +127,13 @@ public:
|
|||
void initSlfNameTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
||||
//初始化根节点(表目录)-右键菜单
|
||||
void initTableFolderTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
||||
//初始化根节点(曲线表目录)-右键菜单
|
||||
void initCurveFolderTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
||||
//初始化根节点(参数卡目录)-右键菜单
|
||||
void initParCardFolderTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
||||
//初始化根节点(波列目录)-右键菜单
|
||||
void initWaveFolderTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
||||
|
||||
|
||||
private:
|
||||
QMap<QString, QList<QString> > m_qmapWellFiles;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user