Loading...
Searching...
No Matches
PanelDelegateFactory.hpp
1#pragma once
2#include <score/plugins/Interface.hpp>
3#include <score/plugins/InterfaceList.hpp>
4#include <score/plugins/panel/PanelDelegate.hpp>
5
6namespace score
7{
9class SCORE_LIB_BASE_EXPORT PanelDelegateFactory : public score::InterfaceBase
10{
11 SCORE_INTERFACE(PanelDelegateFactory, "8d6211f7-5244-44f9-94dd-f3e32255c43e")
12public:
13 static const constexpr bool ui_interface = true;
14 virtual ~PanelDelegateFactory();
15
17 virtual std::unique_ptr<PanelDelegate> make(const score::GUIApplicationContext& ctx)
18 = 0;
19};
20
22class SCORE_LIB_BASE_EXPORT PanelDelegateFactoryList final
23 : public InterfaceList<score::PanelDelegateFactory>
24{
25public:
28};
29}
Base class for plug-in interfaces.
Definition Interface.hpp:52
InterfaceList Default implementation of InterfaceListBase.
Definition InterfaceList.hpp:80
Reimplement this interface to register new panels.
Definition PanelDelegateFactory.hpp:10
virtual std::unique_ptr< PanelDelegate > make(const score::GUIApplicationContext &ctx)=0
Create an instance of a PanelDelegate. Will only be called once.
All the panels are registered in this interface list.
Definition PanelDelegateFactory.hpp:24
The PanelDelegate class.
Definition PanelDelegate.hpp:50
Base toolkit upon which the software is built.
Definition Application.cpp:90
Specializes ApplicationContext with the QMainWindow.
Definition GUIApplicationContext.hpp:15