score_plugin_scenario.hpp
1 #pragma once
2 #include <score/application/ApplicationContext.hpp>
3 #include <score/command/Command.hpp>
5 #include <score/plugins/Interface.hpp>
6 #include <score/plugins/application/GUIApplicationPlugin.hpp>
7 #include <score/plugins/qt_interfaces/CommandFactory_QtInterface.hpp>
8 #include <score/plugins/qt_interfaces/FactoryFamily_QtInterface.hpp>
9 #include <score/plugins/qt_interfaces/FactoryInterface_QtInterface.hpp>
10 #include <score/plugins/qt_interfaces/GUIApplicationPlugin_QtInterface.hpp>
11 #include <score/plugins/qt_interfaces/PluginRequirements_QtInterface.hpp>
12 
13 #include <utility>
14 #include <vector>
15 #include <verdigris>
50 namespace score
51 {
52 
53 class DocumentDelegateFactory;
54 class InterfaceListBase;
55 class PanelFactory;
56 } // namespace score
57 
64 {
65  SCORE_PLUGIN_METADATA(1, "8439ef6c-90c3-4e08-8185-6a0f3c87f8b4")
66 public:
68  ~score_plugin_scenario() override;
69 
70 private:
72  make_guiApplicationPlugin(const score::GUIApplicationContext& app) override;
73 
74  std::pair<const CommandGroupKey, CommandGeneratorMap> make_commands() override;
75 
76  std::vector<std::unique_ptr<score::InterfaceListBase>> factoryFamilies() override;
77 
78  std::vector<score::InterfaceBase*> factories(
80  const score::InterfaceKey& factoryName) const override;
81  std::vector<score::InterfaceBase*> guiFactories(
83  const score::InterfaceKey& factoryName) const override;
84 
85  std::vector<score::PluginKey> required() const override;
86 };
Definition: UuidKey.hpp:343
Definition: GUIApplicationPlugin_QtInterface.hpp:12
Definition: CommandFactory_QtInterface.hpp:12
Definition: FactoryInterface_QtInterface.hpp:19
Definition: FactoryFamily_QtInterface.hpp:14
Used to extend the software with application-wide data.
Definition: GUIApplicationPlugin.hpp:89
Definition: PluginRequirements_QtInterface.hpp:18
Definition: score_plugin_scenario.hpp:64
Base toolkit upon which the software is built.
Definition: Application.cpp:90
Used to access all the application-wide state and structures.
Definition: ApplicationContext.hpp:24
Specializes ApplicationContext with the QMainWindow.
Definition: GUIApplicationContext.hpp:15