Rearchitecture Project Manager Screens Workflow and Create Project Settings Ctrl

* Renamed UX screen files and classes to include screen in the name

* Changed screens to emit a screen change request a controller can connect to

* Made ScreensCtrl that owns and manages screens and their changing and history

* Made Project Settings Control managing back and next buttons

* Add Project Setting Model and moved New Project Settings Ui into Screen file

* Goto previous screen always works

* Removed unnecessary QObject namespace from connect calls

* Merged ProjectSettingsModel into ProjectInfo
This commit is contained in:
AMZN-nggieber
2021-05-13 10:47:49 -07:00
committed by GitHub
parent 67a1e4dc4f
commit 7ecd1b1761
34 changed files with 679 additions and 453 deletions
@@ -12,7 +12,7 @@
#pragma once
#if !defined(Q_MOC_RUN)
#include <ProjectManagerWindow.h>
#include <ScreenDefs.h>
#include <QWidget>
#endif
@@ -22,17 +22,32 @@ namespace O3DE::ProjectManager
class ScreenWidget
: public QWidget
{
Q_OBJECT
public:
explicit ScreenWidget(ProjectManagerWindow* window)
: QWidget(window->GetScreenStack())
, m_projectManagerWindow(window)
explicit ScreenWidget(QWidget* parent = nullptr)
: QWidget(parent)
{
}
~ScreenWidget() = default;
protected:
virtual void ConnectSlotsAndSignals() {}
virtual ProjectManagerScreen GetScreenEnum()
{
return ProjectManagerScreen::Empty;
}
virtual bool IsReadyForNextScreen()
{
return true;
}
virtual QString GetNextButtonText()
{
return "Next";
}
ProjectManagerWindow* m_projectManagerWindow;
signals:
void ChangeScreenRequest(ProjectManagerScreen screen);
void GotoPreviousScreenRequest();
void ResetScreenRequest(ProjectManagerScreen screen);
};
} // namespace O3DE::ProjectManager