Files
o3de/Code/Tools/ProjectManager/Source/ScreenWidget.h
T
AMZN-nggieber 54b9ed2737 Added Menu to Gem Catalog with Action to Navigate to Gem Repo Screen (#4829)
* Added menu to Gem Catalog that with option to navigate to Gem Repo screen

Signed-off-by: nggieber <nggieber@amazon.com>

* Changed Goto to GoTo and added a tr

Signed-off-by: nggieber <nggieber@amazon.com>

* Gem repo button works from new project creation workflow as well and users are warned if they have pending changes in the gem catalog before changing screens.

Signed-off-by: nggieber <nggieber@amazon.com>
2021-10-22 13:11:32 +02:00

74 lines
1.7 KiB
C++

/*
* Copyright (c) Contributors to the Open 3D Engine Project.
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#pragma once
#if !defined(Q_MOC_RUN)
#include <ScreenDefs.h>
#include <ProjectInfo.h>
#include <QWidget>
#include <QStyleOption>
#include <QPainter>
#endif
namespace O3DE::ProjectManager
{
class ScreenWidget
: public QFrame
{
Q_OBJECT
public:
explicit ScreenWidget(QWidget* parent = nullptr)
: QFrame(parent)
{
}
~ScreenWidget() = default;
virtual ProjectManagerScreen GetScreenEnum()
{
return ProjectManagerScreen::Empty;
}
virtual bool IsReadyForNextScreen()
{
return true;
}
virtual bool IsTab()
{
return false;
}
virtual QString GetTabText()
{
return tr("Missing");
}
virtual bool ContainsScreen([[maybe_unused]] ProjectManagerScreen screen)
{
return false;
}
virtual void GoToScreen([[maybe_unused]] ProjectManagerScreen screen)
{
}
//! Notify this screen it is the current screen
virtual void NotifyCurrentScreen()
{
}
signals:
void ChangeScreenRequest(ProjectManagerScreen screen);
void GoToPreviousScreenRequest();
void ResetScreenRequest(ProjectManagerScreen screen);
void NotifyCurrentProject(const QString& projectPath);
void NotifyBuildProject(const ProjectInfo& projectInfo);
};
} // namespace O3DE::ProjectManager