Made step to remove ASyncWindow in favour of usage of Future and FutureWatcher.

This should allow concurrency in the plugins to be independent from their container.

Contains also some work on the system for registering plugins.
This commit is contained in:
eelke 2018-12-30 15:46:15 +01:00
parent a54a063c13
commit 15bee33076
25 changed files with 327 additions and 52 deletions

View file

@ -0,0 +1,31 @@
#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