added mouse-up event for moved nodes
This commit is contained in:
@@ -120,9 +120,10 @@ private:
|
||||
// // left mouse button?
|
||||
// if (e->button() == Qt::MouseButton::LeftButton) {
|
||||
// // element has selectedable nodes? try to select one
|
||||
// if (dynamic_cast<HasMoveableNodes*>(me)) {
|
||||
// if (selectNode(m, p, dynamic_cast<HasMoveableNodes*>(me))) {return;}
|
||||
// }
|
||||
if (dynamic_cast<HasMoveableNodes*>(me)) {
|
||||
//if (selectNode(m, p, dynamic_cast<HasMoveableNodes*>(me))) {return;}
|
||||
if (nodeMoved(m, p, dynamic_cast<HasMoveableNodes*>(me))) {return;}
|
||||
}
|
||||
// }
|
||||
|
||||
// otherwise: let the element itself process all events
|
||||
@@ -173,6 +174,21 @@ private:
|
||||
|
||||
}
|
||||
|
||||
/** moved the currently selected node (now done). true if successful */
|
||||
bool nodeMoved(MapView2D* v, Point2 p, HasMoveableNodes* elem) {
|
||||
|
||||
// no node selected? -> done
|
||||
if (elem->getSelectedNode() == -1) {return false;}
|
||||
|
||||
// snap the node
|
||||
const Point2 pSnapped = v->getScaler().snap(p);
|
||||
|
||||
// moved (done)
|
||||
elem->onNodeMoved(v, elem->getSelectedNode(), pSnapped);
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user