nodeeditor
nodeeditor copied to clipboard
Node Alignment
Commit 8a41b1c broken node alignment, new MoveNodeCommand(BasicGraphicsScene* scene, NodeId const nodeId, QPointF const &diff)
has been deleted.
// Align-Top
connect(ui.btnAlignTop, &QPushButton::clicked,
[=] {
if (scene->selectedNodes().size() > 0)
{
auto nodeIds = scene->selectedNodes();
qreal minY = DBL_MAX;
for (size_t i = 0; i < nodeIds.size(); i++)
minY = qMin(scene->nodeGraphicsObject(nodeIds[i])->y(), minY);
for (size_t i = 0; i < nodeIds.size(); i++) {
auto oldPos = scene->graphModel().nodeData(nodeIds[i], NodeRole::Position).value<QPointF>();
if (minY != oldPos.y())
{
scene->nodeGraphicsObject(nodeIds[i])->setY(minY);
// !!!!!! This function has been deleted in the latest commit
//scene->undoStack().push(new MoveNodeCommand(scene, nodeIds[i], QPointF(0, minY - oldPos.y())));
}
}
}
});