拖动道切换到拖动的位置
道的单元格多选问题
This commit is contained in:
parent
a3cb0f0394
commit
2d10f16402
|
|
@ -134,173 +134,6 @@ void FormTrackTop::paintEvent(QPaintEvent* event)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void FormTrackTop::dragEnterEvent(QDragEnterEvent* event)
|
|
||||||
{
|
|
||||||
qDebug() << "FormTrackTop dragEnterEvent";
|
|
||||||
|
|
||||||
const QMimeData* mimeData = event->mimeData();
|
|
||||||
// 检查拖拽的数据类型,确定是否接受拖拽
|
|
||||||
if (event->mimeData()->hasFormat("text/plain")) {
|
|
||||||
event->acceptProposedAction();
|
|
||||||
//QApplication::setOverrideCursor(Qt::PointingHandCursor); // 设置鼠标为可添加状态
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
event->ignore();
|
|
||||||
//QApplication::setOverrideCursor(Qt::ForbiddenCursor); // 设置鼠标为不可添加状态
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void FormTrackTop::dragMoveEvent(QDragMoveEvent* event)
|
|
||||||
{
|
|
||||||
qDebug() << "FormTrackTop dragMoveEvent";
|
|
||||||
|
|
||||||
// 可以在这里更新鼠标的位置,根据位置判断是否可以放置
|
|
||||||
// ...
|
|
||||||
//dragEnterEvent(event); // 可以使用相同的逻辑
|
|
||||||
//event->accept();
|
|
||||||
}
|
|
||||||
|
|
||||||
void FormTrackTop::dropEvent(QDropEvent* event)
|
|
||||||
{
|
|
||||||
qDebug() << "FormTrackTop dropEvent";
|
|
||||||
|
|
||||||
// 处理放置动作,更新UI或数据
|
|
||||||
if (event->mimeData()->hasFormat("text/plain")) {
|
|
||||||
// 获取拖拽的数据
|
|
||||||
QString strExtern = event->mimeData()->text();
|
|
||||||
qDebug() << strExtern;
|
|
||||||
//
|
|
||||||
QStringList list = strExtern.split("#@@#");//QString字符串分割函数
|
|
||||||
if (list.size() > 3)
|
|
||||||
{
|
|
||||||
QString strSlfName = list[0];
|
|
||||||
QString strWellName = list[1];
|
|
||||||
QString strLineName = list[2];
|
|
||||||
QString strType = list[3];
|
|
||||||
|
|
||||||
qDebug() << "strSlfName:" << strSlfName<< " strWellName:" << strWellName<< " strLineName:" << strLineName << " strType:" << strType;
|
|
||||||
|
|
||||||
if(m_strWellName == strWellName)
|
|
||||||
{
|
|
||||||
if(strType=="curveObject")
|
|
||||||
{
|
|
||||||
//新建曲线
|
|
||||||
emit CallManage::getInstance()->sig_AddLine(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
|
||||||
}
|
|
||||||
else if(strType=="waveObject")
|
|
||||||
{
|
|
||||||
//新建波列
|
|
||||||
emit CallManage::getInstance()->sig_AddWave(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
|
||||||
}
|
|
||||||
else if(strType=="tableObject")
|
|
||||||
{
|
|
||||||
//新建表格曲线
|
|
||||||
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=="gujingObject")
|
|
||||||
{
|
|
||||||
//新建固井
|
|
||||||
emit CallManage::getInstance()->sig_AddGujing(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);
|
|
||||||
}
|
|
||||||
else if (strType == "LogMudObject")
|
|
||||||
{
|
|
||||||
//LogMud
|
|
||||||
emit CallManage::getInstance()->sig_AddLogMud(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 接受拖拽事件
|
|
||||||
event->setDropAction(Qt::MoveAction);
|
|
||||||
event->accept();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if(strType=="wellItem")//井次名称对应多井,统一处理
|
|
||||||
{
|
|
||||||
//拖拽井次,生成多井
|
|
||||||
emit CallManage::getInstance()->sig_AddMultiWell(m_strUuid, strSlfName, strWellName);
|
|
||||||
// 接受拖拽事件
|
|
||||||
event->setDropAction(Qt::MoveAction);
|
|
||||||
event->accept();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// 如果井名不正确,不接受拖拽事件
|
|
||||||
event->ignore();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// 如果数据格式不正确,不接受拖拽事件
|
|
||||||
event->ignore();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// 如果数据格式不正确,不接受拖拽事件
|
|
||||||
event->ignore();
|
|
||||||
}
|
|
||||||
// 恢复鼠标光标
|
|
||||||
//QApplication::restoreOverrideCursor();
|
|
||||||
}
|
|
||||||
|
|
||||||
//设置 道图例区高度(cm)
|
//设置 道图例区高度(cm)
|
||||||
void FormTrackTop::setTrackHeight(double dTrackHeight)
|
void FormTrackTop::setTrackHeight(double dTrackHeight)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -32,9 +32,6 @@ protected:
|
||||||
void paintEvent(QPaintEvent *event);
|
void paintEvent(QPaintEvent *event);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void dragEnterEvent(QDragEnterEvent* event);
|
|
||||||
void dragMoveEvent(QDragMoveEvent* event);
|
|
||||||
void dropEvent(QDropEvent* event);
|
|
||||||
//属性
|
//属性
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,8 @@ QMyTableWidget::QMyTableWidget(QWidget *parent) :
|
||||||
//setSelectionBehavior(QAbstractItemView::SelectColumns); //拖动列
|
//setSelectionBehavior(QAbstractItemView::SelectColumns); //拖动列
|
||||||
setAcceptDrops(true);
|
setAcceptDrops(true);
|
||||||
|
|
||||||
|
this->setSelectionMode(QAbstractItemView::SingleSelection);
|
||||||
|
|
||||||
connect(this, SIGNAL(sig_columnDragged(int, int)), this, SLOT(s_columnDragged(int, int)));
|
connect(this, SIGNAL(sig_columnDragged(int, int)), this, SLOT(s_columnDragged(int, int)));
|
||||||
|
|
||||||
connect(this, SIGNAL(itemSelectionChanged()), this, SLOT(ChangedItem()));
|
connect(this, SIGNAL(itemSelectionChanged()), this, SLOT(ChangedItem()));
|
||||||
|
|
@ -203,11 +205,12 @@ void QMyTableWidget::performDrag()
|
||||||
{
|
{
|
||||||
qDebug()<<"QMyTableWidget performDrag!";
|
qDebug()<<"QMyTableWidget performDrag!";
|
||||||
|
|
||||||
if(!currentItem())
|
FormTrack* myWidget = qobject_cast<FormTrack*>(cellWidget(currentRow(), 0));
|
||||||
|
if(!myWidget)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
QString strExtern = currentItem()->text();
|
QString strExtern = myWidget->m_strUuid;
|
||||||
|
|
||||||
QMimeData *mimeData = new QMimeData;
|
QMimeData *mimeData = new QMimeData;
|
||||||
mimeData->setText(strExtern);
|
mimeData->setText(strExtern);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user