Merge branch 'feature/UI-20260528' of http://1.92.128.200:3000/YXS/nmWTAI-Platform into feature/UI-20260528

feature/UI-20260528
lvjunjie 5 days ago
commit 87b9cbc400

@ -1,4 +1,4 @@
#include <QPainter>
#include <QPainter>
#include "ZxBaseUtil.h"
#include "ZxObjBase.h"
@ -113,9 +113,14 @@ bool nmObjLineCrackTool::onLeftDoubleClick(const QPointF& pt)
{
if (NULL == m_pObj) // 绘图对象尚未创建(鼠标选点ing
{
// 点数不足时吞掉双击,避免误结束创建流程。
if (m_vecPoints.count() < 2) {
return true;
}
changeCursor(Qt::ArrowCursor);
emit sigPtsFinished(m_vecPoints);
//m_vecPoints.clear();
m_vecPoints.clear();
//m_vecCurAllPts.clear();
if (m_bTracking)

@ -1,4 +1,4 @@
#include <QPainter>
#include <QPainter>
#include "ZxBaseUtil.h"
#include "ZxObjBase.h"
@ -103,9 +103,14 @@ bool nmObjLineFaultTool::onLeftDoubleClick(const QPointF& pt)
{
nmObjLineFault* pObj = dynamic_cast<nmObjLineFault*>(m_pObj);
if(NULL == pObj) { // 绘图对象尚未创建(鼠标选点ing
// 点数不足时吞掉双击,避免误结束创建流程。
if (m_vecPoints.count() < 2) {
return true;
}
changeCursor(Qt::ArrowCursor);
emit sigPtsFinished(m_vecPoints);
//m_vecPoints.clear();
m_vecPoints.clear();
//m_vecCurAllPts.clear();
if(m_bTracking) {

@ -92,8 +92,9 @@ bool nmObjPolygonTool::onLeftDoubleClick(const QPointF& pt)
{
if (nullptr == m_pObj) //绘图对象尚未创建(鼠标选点ing
{
if (m_vecPoints.count() < 2) {
return nmObjToolBase::onLeftDoubleClick(pt);
// 多边形至少需要 3 个点才能闭合成有效面,点数不足时吞掉双击。
if (m_vecPoints.count() < 3) {
return true;
}
changeCursor(Qt::ArrowCursor);

@ -81,6 +81,15 @@ bool nmObjRectTool::onLeftUp(const QPointF& pt)
getView()->setCursorKeeping(false);
changeCursor(Qt::ArrowCursor);
// 矩形依赖拖拽成形,起点和终点过近时取消本次创建,避免双击或误点生成零尺寸图元。
double dDistance = 2.2f;
if ((qAbs(m_ptStart.x() - pt.x()) < dDistance) &&
(qAbs(m_ptStart.y() - pt.y()) < dDistance)) {
m_vecPoints.clear();
m_bTracking = false;
return true;
}
// 保存其余三个点的坐标
m_ptMove = pt;
QPointF m_ptOne(m_ptMove.x(), m_ptStart.y()),
@ -126,7 +135,8 @@ bool nmObjRectTool::onLeftDoubleClick(const QPointF& pt)
{
nmObjRect* pObj = dynamic_cast<nmObjRect*>(m_pObj);
if(NULL == pObj) { // 绘图对象尚未创建(鼠标选点ing
return false;
// 矩形创建不依赖双击收尾,创建态直接吞掉双击事件。
return true;
} else { // 已绑定绘图对象
// 双击内部,取消选中状态

@ -95,16 +95,24 @@ bool nmObjRegionTool::onLeftUp(const QPointF& pt)
bool nmObjRegionTool::onLeftDoubleClick(const QPointF& pt)
{
if(NULL == m_pObj) {
// 区域至少需要 3 个点才能闭合成有效面,点数不足时吞掉双击。
if (m_vecPoints.count() < 3)
{
return true;
}
changeCursor(Qt::ArrowCursor);
emit sigPtsFinished(m_vecPoints);
m_vecPoints.clear();
if(m_bTracking) {
if(m_bTracking)
{
m_bTracking = false;
}
return false;
// 双击已完成本工具的处理,这里直接消费事件。
return true;
} else {
return nmObjToolBase::onLeftDoubleClick(pt);
}

@ -60,6 +60,15 @@ bool nmObjRoundTool::onLeftUp(const QPointF& pt)
getView()->setCursorKeeping(false);
changeCursor(Qt::ArrowCursor);
// 圆形依赖拖拽成形,起点和终点过近时取消本次创建,避免双击或误点生成零尺寸图元。
double dDistance = 2.2f;
if ((qAbs(m_ptStart.x() - pt.x()) < dDistance) &&
(qAbs(m_ptStart.y() - pt.y()) < dDistance)) {
m_vecPoints.clear();
m_bTracking = false;
return true;
}
// 计算圆心的位置
m_ptMove = pt;
QPointF m_ptCenter((m_ptStart.x() + m_ptMove.x()) / 2,(m_ptStart.y() + m_ptMove.y()) / 2);
@ -103,7 +112,8 @@ bool nmObjRoundTool::onLeftUp(const QPointF& pt)
bool nmObjRoundTool::onLeftDoubleClick(const QPointF& pt)
{
if(NULL == m_pObj) { // 绘图对象尚未创建(鼠标选点ing
return false;
// 圆形创建不依赖双击收尾,创建态直接吞掉双击事件。
return true;
} else { // 已绑定绘图对象
// 双击内部,取消选中状态

Loading…
Cancel
Save