paceholder / nodeeditor

Qt Node Editor. Dataflow programming framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Node Alignment

LiuPeiqiCN opened this issue · comments

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())));
				}
			}
		}
	});