This should allow concurrency in the plugins to be independent from their container. Contains also some work on the system for registering plugins.
31 lines
787 B
C++
31 lines
787 B
C++
#ifndef PLUGIN_SUPPORTPLUGINMODULE_H
|
|
#define PLUGIN_SUPPORTPLUGINMODULE_H
|
|
|
|
#include "plugin_support/MenuLocation.h"
|
|
#include "plugin_support/ToolbarLocation.h"
|
|
#include <QObject>
|
|
|
|
class QAction;
|
|
|
|
|
|
class PluginModule: public QObject {
|
|
Q_OBJECT
|
|
public:
|
|
PluginModule(QString name, QString ident);
|
|
|
|
const QString& name() const { return m_name; }
|
|
const QString& identifier() const { return m_ident; }
|
|
const QString& displayCategory() const { return m_displayCategory; }
|
|
|
|
void setDisplayCategory(QString category);
|
|
void registerAction(QAction *action, MenuLocation menu_location, ToolbarLocation toolbar_location);
|
|
private:
|
|
/// Name shown to end users
|
|
QString m_name;
|
|
/// Unique identifier
|
|
QString m_ident;
|
|
QString m_displayCategory;
|
|
};
|
|
|
|
|
|
#endif // PLUGIN_SUPPORTPLUGINMODULE_H
|