forked from qt-creator/qt-creator
QmlDesigner: Update transitions if position changes
Change-Id: Ie971ee68f9f0ea9b200955487fe53e6465030129 Reviewed-by: Henning Gründl <henning.gruendl@qt.io> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -656,8 +656,23 @@ void FormEditorFlowActionItem::setDataModelPositionInBaseState(const QPointF &po
|
|||||||
void FormEditorFlowActionItem::updateGeometry()
|
void FormEditorFlowActionItem::updateGeometry()
|
||||||
{
|
{
|
||||||
FormEditorItem::updateGeometry();
|
FormEditorItem::updateGeometry();
|
||||||
//const QPointF pos = qmlItemNode().flowPosition();
|
|
||||||
//setTransform(QTransform::fromTranslate(pos.x(), pos.y()));
|
const QPointF pos = qmlItemNode().instancePosition();
|
||||||
|
|
||||||
|
if (pos == m_oldPos)
|
||||||
|
return;
|
||||||
|
|
||||||
|
m_oldPos = pos;
|
||||||
|
|
||||||
|
// Call updateGeometry() on all related transitions
|
||||||
|
QmlFlowItemNode flowItem = QmlFlowActionAreaNode(qmlItemNode()).flowItemParent();
|
||||||
|
if (flowItem.isValid() && flowItem.flowView().isValid()) {
|
||||||
|
const auto nodes = flowItem.flowView().transitions();
|
||||||
|
for (const ModelNode &node : nodes) {
|
||||||
|
if (FormEditorItem *item = scene()->itemForQmlItemNode(node))
|
||||||
|
item->updateGeometry();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FormEditorFlowActionItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
|
void FormEditorFlowActionItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
|
||||||
|
|||||||
Reference in New Issue
Block a user