Compare commits
No commits in common. "34adb5ebd718aad8199a5bf53d2109a5970fa29c" and "193c2f00a21bbe9f38f67b3ecdc116ba0dafe522" have entirely different histories.
34adb5ebd7
...
193c2f00a2
|
|
@ -134,6 +134,173 @@ 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)
|
||||
void FormTrackTop::setTrackHeight(double dTrackHeight)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -32,6 +32,9 @@ protected:
|
|||
void paintEvent(QPaintEvent *event);
|
||||
|
||||
public slots:
|
||||
void dragEnterEvent(QDragEnterEvent* event);
|
||||
void dragMoveEvent(QDragMoveEvent* event);
|
||||
void dropEvent(QDropEvent* event);
|
||||
//属性
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -19,8 +19,6 @@ QMyTableWidget::QMyTableWidget(QWidget *parent) :
|
|||
//setSelectionBehavior(QAbstractItemView::SelectColumns); //拖动列
|
||||
setAcceptDrops(true);
|
||||
|
||||
this->setSelectionMode(QAbstractItemView::SingleSelection);
|
||||
|
||||
connect(this, SIGNAL(sig_columnDragged(int, int)), this, SLOT(s_columnDragged(int, int)));
|
||||
|
||||
connect(this, SIGNAL(itemSelectionChanged()), this, SLOT(ChangedItem()));
|
||||
|
|
@ -207,12 +205,11 @@ void QMyTableWidget::performDrag()
|
|||
{
|
||||
qDebug()<<"QMyTableWidget performDrag!";
|
||||
|
||||
FormTrack* myWidget = qobject_cast<FormTrack*>(cellWidget(currentRow(), 0));
|
||||
if(!myWidget)
|
||||
if(!currentItem())
|
||||
{
|
||||
return;
|
||||
}
|
||||
QString strExtern = myWidget->m_strUuid;
|
||||
QString strExtern = currentItem()->text();
|
||||
|
||||
QMimeData *mimeData = new QMimeData;
|
||||
mimeData->setText(strExtern);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user