added mouse-up event for moved nodes

This commit is contained in:
k-a-z-u
2018-04-04 17:14:37 +02:00
parent 3a4deaf314
commit fe6f4f88f7
17 changed files with 98 additions and 10 deletions

View File

@@ -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: