Fix position of newly created UI element (#7510)

Signed-off-by: abrmich <abrmich@amazon.com>
monroegm-disable-blank-issue-2
michabr 4 years ago committed by GitHub
parent 51bac9a6c0
commit e5800d738a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -387,7 +387,9 @@ void HierarchyMenu::New_ElementFromSlice(HierarchyWidget* hierarchy,
AZ::Vector2 viewportPosition(-1.0f,-1.0f); // indicates no viewport position specified AZ::Vector2 viewportPosition(-1.0f,-1.0f); // indicates no viewport position specified
if (optionalPos) if (optionalPos)
{ {
viewportPosition = QtHelpers::QPointFToVector2(*optionalPos); // Convert position to render viewport coords
QPointF scaledPosition = *optionalPos * hierarchy->GetEditorWindow()->GetViewport()->WidgetToViewportFactor();
viewportPosition = QtHelpers::QPointFToVector2(scaledPosition);
} }
SliceMenuHelpers::CreateInstantiateSliceMenu(hierarchy, SliceMenuHelpers::CreateInstantiateSliceMenu(hierarchy,
@ -405,7 +407,9 @@ void HierarchyMenu::New_ElementFromSlice(HierarchyWidget* hierarchy,
AZ::Vector2 viewportPosition(-1.0f,-1.0f); // indicates no viewport position specified AZ::Vector2 viewportPosition(-1.0f,-1.0f); // indicates no viewport position specified
if (optionalPos) if (optionalPos)
{ {
viewportPosition = QtHelpers::QPointFToVector2(*optionalPos); // Convert position to render viewport coords
QPointF scaledPosition = *optionalPos * hierarchy->GetEditorWindow()->GetViewport()->WidgetToViewportFactor();
viewportPosition = QtHelpers::QPointFToVector2(scaledPosition);
} }
hierarchy->GetEditorWindow()->GetSliceManager()->InstantiateSliceUsingBrowser(hierarchy, viewportPosition); hierarchy->GetEditorWindow()->GetSliceManager()->InstantiateSliceUsingBrowser(hierarchy, viewportPosition);
} }

@ -1239,11 +1239,13 @@ void HierarchyWidget::AddElement(const QTreeWidgetItemRawPtrQList& selectedItems
this, this,
selectedItems, selectedItems,
childIndex, childIndex,
[optionalPos](AZ::Entity* element) [this, optionalPos](AZ::Entity* element)
{ {
if (optionalPos) if (optionalPos)
{ {
EntityHelpers::MoveElementToGlobalPosition(element, *optionalPos); // Convert position to render viewport coords
QPoint scaledPosition = *optionalPos * GetEditorWindow()->GetViewport()->WidgetToViewportFactor();
EntityHelpers::MoveElementToGlobalPosition(element, scaledPosition);
} }
}); });
} }

Loading…
Cancel
Save