changes to the move rotate and scale

Signed-off-by: aaguilea <aaguilea@amazon.com>
monroegm-disable-blank-issue-2
aaguilea 4 years ago
parent 45ebf57d3f
commit d06ec45aaa

@ -544,12 +544,12 @@ void LevelEditorMenuHandler::PopulateEditMenu(ActionManager::MenuWrapper& editMe
auto snapMenu = modifyMenu.AddMenu(tr("Snap")); auto snapMenu = modifyMenu.AddMenu(tr("Snap"));
snapMenu.AddAction(ID_SNAPANGLE); snapMenu.AddAction(AzToolsFramework::SnapAngle);
auto transformModeMenu = modifyMenu.AddMenu(tr("Transform Mode")); auto transformModeMenu = modifyMenu.AddMenu(tr("Transform Mode"));
transformModeMenu.AddAction(ID_EDITMODE_MOVE); transformModeMenu.AddAction(AzToolsFramework::EditModeMove);
transformModeMenu.AddAction(ID_EDITMODE_ROTATE); transformModeMenu.AddAction(AzToolsFramework::EditModeRotate);
transformModeMenu.AddAction(ID_EDITMODE_SCALE); transformModeMenu.AddAction(AzToolsFramework::EditModeScale);
editMenu.AddSeparator(); editMenu.AddSeparator();

@ -375,9 +375,6 @@ void CCryEditApp::RegisterActionHandlers()
}); });
ON_COMMAND(ID_MOVE_OBJECT, OnMoveObject) ON_COMMAND(ID_MOVE_OBJECT, OnMoveObject)
ON_COMMAND(ID_RENAME_OBJ, OnRenameObj) ON_COMMAND(ID_RENAME_OBJ, OnRenameObj)
ON_COMMAND(ID_EDITMODE_MOVE, OnEditmodeMove)
ON_COMMAND(ID_EDITMODE_ROTATE, OnEditmodeRotate)
ON_COMMAND(ID_EDITMODE_SCALE, OnEditmodeScale)
ON_COMMAND(ID_UNDO, OnUndo) ON_COMMAND(ID_UNDO, OnUndo)
ON_COMMAND(ID_TOOLBAR_WIDGET_REDO, OnUndo) // Can't use the same ID, because for the menu we can't have a QWidgetAction, while for the toolbar we want one ON_COMMAND(ID_TOOLBAR_WIDGET_REDO, OnUndo) // Can't use the same ID, because for the menu we can't have a QWidgetAction, while for the toolbar we want one
ON_COMMAND(ID_IMPORT_ASSET, OnOpenAssetImporter) ON_COMMAND(ID_IMPORT_ASSET, OnOpenAssetImporter)

@ -46,6 +46,7 @@ AZ_POP_DISABLE_WARNING
#include <AzToolsFramework/API/EditorAnimationSystemRequestBus.h> #include <AzToolsFramework/API/EditorAnimationSystemRequestBus.h>
#include <AzToolsFramework/SourceControl/QtSourceControlNotificationHandler.h> #include <AzToolsFramework/SourceControl/QtSourceControlNotificationHandler.h>
#include <AzToolsFramework/PythonTerminal/ScriptTermDialog.h> #include <AzToolsFramework/PythonTerminal/ScriptTermDialog.h>
#include <AzToolsFramework/ViewportSelection/EditorTransformComponentSelectionRequestBus.h>
// AzQtComponents // AzQtComponents
#include <AzQtComponents/Buses/ShortcutDispatch.h> #include <AzQtComponents/Buses/ShortcutDispatch.h>
@ -731,32 +732,84 @@ void MainWindow::InitActions()
.SetStatusTip(tr("Restore saved state (Fetch)")); .SetStatusTip(tr("Restore saved state (Fetch)"));
// Modify actions // Modify actions
am->AddAction(ID_EDITMODE_MOVE, tr("Move")) am->AddAction(AzToolsFramework::EditModeMove, tr("Move"))
.SetIcon(Style::icon("Move")) .SetIcon(Style::icon("Move"))
.SetApplyHoverEffect() .SetApplyHoverEffect()
.SetShortcut(tr("1")) .SetShortcut(tr("1"))
.SetToolTip(tr("Move (1)")) .SetToolTip(tr("Move (1)"))
.SetCheckable(true) .SetCheckable(true)
.SetStatusTip(tr("Select and move selected object(s)")) .SetStatusTip(tr("Select and move selected object(s)"))
.RegisterUpdateCallback(cryEdit, &CCryEditApp::OnUpdateEditmodeMove); .RegisterUpdateCallback([](QAction* action)
am->AddAction(ID_EDITMODE_ROTATE, tr("Rotate")) {
Q_ASSERT(action->isCheckable());
AzToolsFramework::EditorTransformComponentSelectionRequests::Mode mode;
AzToolsFramework::EditorTransformComponentSelectionRequestBus::EventResult(
mode, AzToolsFramework::GetEntityContextId(),
&AzToolsFramework::EditorTransformComponentSelectionRequests::GetTransformMode);
action->setChecked(mode == AzToolsFramework::EditorTransformComponentSelectionRequests::Mode::Translation);
})
.Connect(
&QAction::triggered,
[]()
{
EditorTransformComponentSelectionRequestBus::Event(
GetEntityContextId(), &EditorTransformComponentSelectionRequests::SetTransformMode,
EditorTransformComponentSelectionRequests::Mode::Translation);
});
am->AddAction(AzToolsFramework::EditModeRotate, tr("Rotate"))
.SetIcon(Style::icon("Translate")) .SetIcon(Style::icon("Translate"))
.SetApplyHoverEffect() .SetApplyHoverEffect()
.SetShortcut(tr("2")) .SetShortcut(tr("2"))
.SetToolTip(tr("Rotate (2)")) .SetToolTip(tr("Rotate (2)"))
.SetCheckable(true) .SetCheckable(true)
.SetStatusTip(tr("Select and rotate selected object(s)")) .SetStatusTip(tr("Select and rotate selected object(s)"))
.RegisterUpdateCallback(cryEdit, &CCryEditApp::OnUpdateEditmodeRotate); .RegisterUpdateCallback([](QAction* action)
am->AddAction(ID_EDITMODE_SCALE, tr("Scale")) {
Q_ASSERT(action->isCheckable());
AzToolsFramework::EditorTransformComponentSelectionRequests::Mode mode;
AzToolsFramework::EditorTransformComponentSelectionRequestBus::EventResult(
mode, AzToolsFramework::GetEntityContextId(),
&AzToolsFramework::EditorTransformComponentSelectionRequests::GetTransformMode);
action->setChecked(mode == AzToolsFramework::EditorTransformComponentSelectionRequests::Mode::Rotation);
})
.Connect(
&QAction::triggered,
[]()
{
EditorTransformComponentSelectionRequestBus::Event(
GetEntityContextId(), &EditorTransformComponentSelectionRequests::SetTransformMode,
EditorTransformComponentSelectionRequests::Mode::Rotation);
});
am->AddAction(AzToolsFramework::EditModeScale, tr("Scale"))
.SetIcon(Style::icon("Scale")) .SetIcon(Style::icon("Scale"))
.SetApplyHoverEffect() .SetApplyHoverEffect()
.SetShortcut(tr("3")) .SetShortcut(tr("3"))
.SetToolTip(tr("Scale (3)")) .SetToolTip(tr("Scale (3)"))
.SetCheckable(true) .SetCheckable(true)
.SetStatusTip(tr("Select and scale selected object(s)")) .SetStatusTip(tr("Select and scale selected object(s)"))
.RegisterUpdateCallback(cryEdit, &CCryEditApp::OnUpdateEditmodeScale); .RegisterUpdateCallback([](QAction* action)
{
Q_ASSERT(action->isCheckable());
AzToolsFramework::EditorTransformComponentSelectionRequests::Mode mode;
AzToolsFramework::EditorTransformComponentSelectionRequestBus::EventResult(
mode, AzToolsFramework::GetEntityContextId(),
&AzToolsFramework::EditorTransformComponentSelectionRequests::GetTransformMode);
action->setChecked(mode == AzToolsFramework::EditorTransformComponentSelectionRequests::Mode::Scale);
})
.Connect( &QAction::triggered,[]()
{
EditorTransformComponentSelectionRequestBus::Event(
GetEntityContextId(), &EditorTransformComponentSelectionRequests::SetTransformMode,
EditorTransformComponentSelectionRequests::Mode::Scale);
});
am->AddAction(ID_SNAP_TO_GRID, tr("Snap to grid")) am->AddAction(AzToolsFramework::SnapToGrid, tr("Snap to grid"))
.SetIcon(Style::icon("Grid")) .SetIcon(Style::icon("Grid"))
.SetApplyHoverEffect() .SetApplyHoverEffect()
.SetShortcut(tr("G")) .SetShortcut(tr("G"))
@ -769,7 +822,7 @@ void MainWindow::InitActions()
}) })
.Connect(&QAction::triggered, []() { SandboxEditor::SetGridSnapping(!SandboxEditor::GridSnappingEnabled()); }); .Connect(&QAction::triggered, []() { SandboxEditor::SetGridSnapping(!SandboxEditor::GridSnappingEnabled()); });
am->AddAction(ID_SNAPANGLE, tr("Snap angle")) am->AddAction(AzToolsFramework::SnapAngle, tr("Snap angle"))
.SetIcon(Style::icon("Angle")) .SetIcon(Style::icon("Angle"))
.SetApplyHoverEffect() .SetApplyHoverEffect()
.SetStatusTip(tr("Snap angle")) .SetStatusTip(tr("Snap angle"))

@ -59,11 +59,17 @@ namespace AzQtComponents
namespace AzToolsFramework namespace AzToolsFramework
{ {
class Ticker; class Ticker;
}
namespace AzToolsFramework
{
class QtSourceControlNotificationHandler; class QtSourceControlNotificationHandler;
//! @name Reverse URLs.
//! Used to identify common actions and override them when necessary.
//@{
constexpr inline AZ::Crc32 EditModeMove = AZ_CRC_CE("com.o3de.action.editor.editmode.move");
constexpr inline AZ::Crc32 EditModeRotate = AZ_CRC_CE("com.o3de.action.editor.editmode.rotate");
constexpr inline AZ::Crc32 EditModeScale = AZ_CRC_CE("com.o3de.action.editor.editmode.scale");
constexpr inline AZ::Crc32 SnapToGrid = AZ_CRC_CE("com.o3de.action.editor.snaptogrid");
constexpr inline AZ::Crc32 SnapAngle = AZ_CRC_CE("com.o3de.action.editor.snapangle");
//@}
} }
#define MAINFRM_LAYOUT_NORMAL "NormalLayout" #define MAINFRM_LAYOUT_NORMAL "NormalLayout"

@ -82,7 +82,6 @@
#define ID_TOOLS_CUSTOMIZEKEYBOARD 32914 #define ID_TOOLS_CUSTOMIZEKEYBOARD 32914
#define ID_EXPORT_INDOORS 32915 #define ID_EXPORT_INDOORS 32915
#define ID_VIEW_CYCLE2DVIEWPORT 32916 #define ID_VIEW_CYCLE2DVIEWPORT 32916
#define ID_SNAPANGLE 32917
#define ID_PHYSICS_GETPHYSICSSTATE 32937 #define ID_PHYSICS_GETPHYSICSSTATE 32937
#define ID_PHYSICS_RESETPHYSICSSTATE 32938 #define ID_PHYSICS_RESETPHYSICSSTATE 32938
#define ID_GAME_SYNCPLAYER 32941 #define ID_GAME_SYNCPLAYER 32941
@ -108,9 +107,6 @@
#define ID_MOVE_OBJECT 33481 #define ID_MOVE_OBJECT 33481
#define ID_RENAME_OBJ 33483 #define ID_RENAME_OBJ 33483
#define ID_FETCH 33496 #define ID_FETCH 33496
#define ID_EDITMODE_ROTATE 33506
#define ID_EDITMODE_SCALE 33507
#define ID_EDITMODE_MOVE 33508
#define ID_SELECTION_DELETE 33512 #define ID_SELECTION_DELETE 33512
#define ID_EDIT_ESCAPE 33513 #define ID_EDIT_ESCAPE 33513
#define ID_UNDO 33524 #define ID_UNDO 33524
@ -137,7 +133,6 @@
#define ID_ADDNODE 33570 #define ID_ADDNODE 33570
#define ID_ADDSCENETRACK 33573 #define ID_ADDSCENETRACK 33573
#define ID_FIND 33574 #define ID_FIND 33574
#define ID_SNAP_TO_GRID 33575
#define ID_TAG_LOC1 33576 #define ID_TAG_LOC1 33576
#define ID_TAG_LOC2 33577 #define ID_TAG_LOC2 33577
#define ID_TAG_LOC3 33578 #define ID_TAG_LOC3 33578

@ -953,13 +953,13 @@ void CViewportTitleDlg::CheckForCameraSpeedUpdate()
void CViewportTitleDlg::OnGridSnappingToggled() void CViewportTitleDlg::OnGridSnappingToggled()
{ {
m_gridSizeActionWidget->setEnabled(m_enableGridSnappingAction->isChecked()); m_gridSizeActionWidget->setEnabled(m_enableGridSnappingAction->isChecked());
MainWindow::instance()->GetActionManager()->GetAction(ID_SNAP_TO_GRID)->trigger(); MainWindow::instance()->GetActionManager()->GetAction(AzToolsFramework::SnapToGrid)->trigger();
} }
void CViewportTitleDlg::OnAngleSnappingToggled() void CViewportTitleDlg::OnAngleSnappingToggled()
{ {
m_angleSizeActionWidget->setEnabled(m_enableAngleSnappingAction->isChecked()); m_angleSizeActionWidget->setEnabled(m_enableAngleSnappingAction->isChecked());
MainWindow::instance()->GetActionManager()->GetAction(ID_SNAPANGLE)->trigger(); MainWindow::instance()->GetActionManager()->GetAction(AzToolsFramework::SnapAngle)->trigger();
} }
void CViewportTitleDlg::OnGridSpinBoxChanged(double value) void CViewportTitleDlg::OnGridSpinBoxChanged(double value)
@ -974,14 +974,14 @@ void CViewportTitleDlg::OnAngleSpinBoxChanged(double value)
void CViewportTitleDlg::UpdateOverFlowMenuState() void CViewportTitleDlg::UpdateOverFlowMenuState()
{ {
bool gridSnappingActive = MainWindow::instance()->GetActionManager()->GetAction(ID_SNAP_TO_GRID)->isChecked(); bool gridSnappingActive = MainWindow::instance()->GetActionManager()->GetAction(AzToolsFramework::SnapToGrid)->isChecked();
{ {
QSignalBlocker signalBlocker(m_enableGridSnappingAction); QSignalBlocker signalBlocker(m_enableGridSnappingAction);
m_enableGridSnappingAction->setChecked(gridSnappingActive); m_enableGridSnappingAction->setChecked(gridSnappingActive);
} }
m_gridSizeActionWidget->setEnabled(gridSnappingActive); m_gridSizeActionWidget->setEnabled(gridSnappingActive);
bool angleSnappingActive = MainWindow::instance()->GetActionManager()->GetAction(ID_SNAPANGLE)->isChecked(); bool angleSnappingActive = MainWindow::instance()->GetActionManager()->GetAction(AzToolsFramework::SnapAngle)->isChecked();
{ {
QSignalBlocker signalBlocker(m_enableAngleSnappingAction); QSignalBlocker signalBlocker(m_enableAngleSnappingAction);
m_enableAngleSnappingAction->setChecked(angleSnappingActive); m_enableAngleSnappingAction->setChecked(angleSnappingActive);

Loading…
Cancel
Save