Loading...
Searching...
No Matches
ApplicationInterface.hpp
1#pragma once
2#include <score/application/GUIApplicationContext.hpp>
3
4#include <score_lib_base_export.h>
5namespace score
6{
7class Settings;
8class Presenter;
9class GUIApplicationRegistrar;
10struct GUIApplicationContext;
11
14SCORE_LIB_BASE_EXPORT void loadApplicationResources();
15
26class SCORE_LIB_BASE_EXPORT ApplicationInterface
27{
28public:
30 virtual ~ApplicationInterface();
31
32 virtual const ApplicationContext& context() const = 0;
33
34 virtual const ApplicationComponents& components() const = 0;
35
36 static ApplicationInterface& instance();
37
46 static bool hasInstance() noexcept { return m_instance != nullptr; }
47
48protected:
49 static ApplicationInterface* m_instance;
50};
51
52class SCORE_LIB_BASE_EXPORT GUIApplicationInterface : public ApplicationInterface
53{
54public:
55 using ApplicationInterface::ApplicationInterface;
57 virtual const GUIApplicationContext& context() const override = 0;
58
59 static GUIApplicationInterface& instance();
60
74 void loadPluginData(score::Settings& settings, score::Presenter& presenter);
75
76 void registerPlugin(score::Plugin_QtInterface&);
77
78 void requestExit();
79 void forceExit();
80
82 virtual void showStartScreen();
83};
84}
Definition ApplicationComponents.hpp:68
The ApplicationInterface class.
Definition ApplicationInterface.hpp:27
static bool hasInstance() noexcept
Whether instance() has anything to return.
Definition ApplicationInterface.hpp:46
Definition ApplicationInterface.hpp:53
Definition PluginRequirements_QtInterface.hpp:18
The Presenter class.
Definition lib/core/presenter/Presenter.hpp:36
Application-wide user settings registering and handling.
Definition lib/core/settings/Settings.hpp:42
Base toolkit upon which the software is built.
Definition Application.cpp:83
void loadApplicationResources()
Definition ApplicationInterface.cpp:62
Used to access all the application-wide state and structures.
Definition ApplicationContext.hpp:25
Specializes ApplicationContext with the QMainWindow.
Definition GUIApplicationContext.hpp:15