This should allow concurrency in the plugins to be independent from their container. Contains also some work on the system for registering plugins.
33 lines
915 B
C++
33 lines
915 B
C++
#ifndef PGLPAGE_H
|
|
#define PGLPAGE_H
|
|
|
|
#include <QWidget>
|
|
#include <vector>
|
|
|
|
class IPluginContentWidgetContext;
|
|
|
|
/// Provides a pluggable system for toolbar buttons and menu actions
|
|
///
|
|
/// We will need several kind of actions
|
|
/// - create actions, these will create a new document or load from file , always available in menu
|
|
/// - save actions available when on tab
|
|
/// - edit actions
|
|
/// - custom menu?
|
|
///
|
|
/// Can we use same groupings for toolbars and menu's
|
|
/// How about additional toolbars?
|
|
///
|
|
class PluginContentWidget: public QWidget{
|
|
public:
|
|
PluginContentWidget(IPluginContentWidgetContext *context, QWidget* parent = nullptr);
|
|
/// Returns the toolbar buttons for this page
|
|
virtual std::vector<QAction*> getToolbarActions();
|
|
virtual bool canClose();
|
|
|
|
protected:
|
|
IPluginContentWidgetContext *context() { return m_context; }
|
|
private:
|
|
IPluginContentWidgetContext *m_context;
|
|
};
|
|
|
|
#endif // PGLPAGE_H
|