mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-09 00:22:13 +02:00
Working on plugin library
This commit is contained in:
parent
1c49dde6f8
commit
a94f257381
4 changed files with 44 additions and 1 deletions
|
@ -3,6 +3,10 @@
|
|||
#include <QString>
|
||||
#include <QObject>
|
||||
|
||||
class PluginContainer {
|
||||
virtual void addMenuItem(const QString& path, std::function<void()> onClicked, bool checkable = false, bool checked = false, const QString& groupName = "") = 0;
|
||||
};
|
||||
|
||||
class Plugin : public QObject {
|
||||
public:
|
||||
virtual const QString & getName() = 0;
|
||||
|
@ -11,7 +15,7 @@ public:
|
|||
virtual void init() {}
|
||||
virtual void deinit() {}
|
||||
|
||||
virtual void activate() {}
|
||||
virtual void activate(PluginContainer * container) {}
|
||||
virtual void deactivate() {}
|
||||
|
||||
virtual void idle() {}
|
||||
|
|
12
libraries/plugins/CMakeLists.txt
Normal file
12
libraries/plugins/CMakeLists.txt
Normal file
|
@ -0,0 +1,12 @@
|
|||
set(TARGET_NAME plugins)
|
||||
|
||||
# use setup_hifi_library macro to setup our project and link appropriate Qt modules
|
||||
setup_hifi_library(OpenGL Network Qml Quick Script XmlPatterns)
|
||||
|
||||
link_hifi_libraries(shared)
|
||||
|
||||
add_dependency_external_projects(glm)
|
||||
find_package(GLM REQUIRED)
|
||||
target_include_directories(${TARGET_NAME} PUBLIC ${GLM_INCLUDE_DIRS})
|
||||
|
||||
|
20
libraries/plugins/src/Plugin.h
Normal file
20
libraries/plugins/src/Plugin.h
Normal file
|
@ -0,0 +1,20 @@
|
|||
#pragma once
|
||||
|
||||
#include <QString>
|
||||
#include <QObject>
|
||||
|
||||
class PluginContainer;
|
||||
|
||||
class Plugin : public QObject {
|
||||
public:
|
||||
virtual const QString& getName() = 0;
|
||||
virtual bool isSupported() const { return true; }
|
||||
|
||||
virtual void init() {}
|
||||
virtual void deinit() {}
|
||||
|
||||
virtual void activate(PluginContainer * container) {}
|
||||
virtual void deactivate() {}
|
||||
|
||||
virtual void idle() {}
|
||||
};
|
7
libraries/plugins/src/PluginContainer.h
Normal file
7
libraries/plugins/src/PluginContainer.h
Normal file
|
@ -0,0 +1,7 @@
|
|||
#pragma once
|
||||
|
||||
#include <QString>
|
||||
|
||||
class PluginContainer {
|
||||
virtual void addMenuItem(const QString& path, std::function<void()> onClicked, bool checkable = false, bool checked = false, const QString& groupName = "") = 0;
|
||||
};
|
Loading…
Reference in a new issue