|
|
|
|
@ -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 { // 已绑定绘图对象
|
|
|
|
|
|
|
|
|
|
// 双击内部,取消选中状态
|
|
|
|
|
|