Loading...
Searching...
No Matches
GUIApplicationPlugin.hpp
1#pragma once
3#include <score/actions/Menu.hpp>
4#include <score/actions/Toolbar.hpp>
5#include <score/application/GUIApplicationContext.hpp>
6
7#include <QKeyEvent>
8#include <qnamespace.h>
9
10#include <vector>
11class QAction;
12class QObject;
13namespace score
14{
15class Document;
16} // namespace score
17struct VisitorVariant;
18
19namespace score
20{
21class DocumentPlugin;
22
32{
33 ActionContainer actions;
34 std::vector<Menu> menus;
35 std::vector<Toolbar> toolbars;
36};
37
38class SCORE_LIB_BASE_EXPORT ApplicationPlugin
39{
40public:
42
49 virtual void initialize();
50
51 virtual ~ApplicationPlugin();
52
53 const score::ApplicationContext& context;
54};
55
96class SCORE_LIB_BASE_EXPORT GUIApplicationPlugin
97{
98public:
101
102 virtual ~GUIApplicationPlugin();
103
115 virtual GUIElements makeGUIElements();
116
117 const GUIApplicationContext& context;
118
125 virtual void initialize();
126
131 Document* currentDocument() const;
132
137 virtual bool handleLoading();
138
143 virtual void afterStartup();
144
150 virtual void on_initDocument(score::Document& doc);
151
156 virtual void on_closeDocument(score::Document& doc);
157
169 virtual void on_documentSaveAs(score::Document& doc, const QString& newFileName);
170
177 virtual void on_newDocument(score::Document& doc);
178
183 virtual void on_loadedDocument(score::Document& doc);
184
190 virtual void on_createdDocument(score::Document& doc);
197 virtual void prepareNewDocument();
198
205 virtual void on_documentChanged(score::Document* olddoc, score::Document* newdoc);
206
212 virtual void on_activeWindowChanged();
213
217 virtual void on_keyPressEvent(QKeyEvent& event);
218
222 virtual void on_keyReleaseEvent(QKeyEvent& event);
223};
224}
Definition GUIApplicationPlugin.hpp:39
The Document class is the central part of the software.
Definition Document.hpp:51
Used to extend the software with application-wide data.
Definition GUIApplicationPlugin.hpp:97
Base toolkit upon which the software is built.
Definition Application.cpp:108
The VisitorVariant struct.
Definition VisitorInterface.hpp:26
The ActionContainer struct.
Definition Action.hpp:132
Used to access all the application-wide state and structures.
Definition ApplicationContext.hpp:25
Specializes ApplicationContext with the QMainWindow.
Definition GUIApplicationContext.hpp:15
What an application plug-in adds to the menus, toolbars and actions.
Definition GUIApplicationPlugin.hpp:32