/
ScreenWidget.h
74 lines (65 loc) · 1.72 KB
/
ScreenWidget.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/*
* 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(ProjectManagerScreen screen)
{
return GetScreenEnum() == screen;
}
virtual void GoToScreen([[maybe_unused]] ProjectManagerScreen screen)
{
}
virtual void Init()
{
}
//! 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