3#include <QGraphicsView>
4#include <oclero/qlementine.hpp>
34 PluginTab(QMenu* menu, QObject* parent =
nullptr);
54 void openScene(
const QString& name)
override;
75 void registerPlugin(
const QString& name, std::function<VoidResult(QGraphicsScene* scene)> callback)
override;
92 void addTab(
const QString& name, QWidget* tabWidget)
override;
93 void closeTab(
const QString& name, QWidget* tabWidget)
override;
117 void addBottomTab(
const QString& name, QWidget* tab);
118 void removeBottomTab(QWidget* tab);
maki::Theme currentTheme() override
Returns the currently active theme variables.
Definition plugin_tab.cpp:39
void openScene(const QString &name) override
Opens the scene associated with a plugin tab.
Definition plugin_tab.cpp:28
void onThemeChanged()
Notifies the tab that the application theme has changed.
Definition plugin_tab.cpp:188
maki::Theme qlementineToMaki(const oclero::qlementine::Theme &theme) const
Converts a qlementine theme to the maki theme.
Definition plugin_tab.cpp:48
void updateScene(const QString &name) override
Updates the scene associated with a plugin tab.
Definition plugin_tab.cpp:16
void deregisterPlugin(const QString &name) override
Deregisters a plugin.
Definition plugin_tab.cpp:216
QMap< QString, PluginData > mTabs
Mapping between plugin names and their associated data.
Definition plugin_tab.h:145
PluginTab(QMenu *menu, QObject *parent=nullptr)
Constructs a PluginTab instance.
Definition plugin_tab.cpp:10
void registerPlugin(const QString &name, std::function< VoidResult(QGraphicsScene *scene)> callback) override
Registers a plugin-provided tab.
Definition plugin_tab.cpp:194
void closeView(PluginView *view)
Signal emitted when a plugin view should be closed.
QMenu * mMenu
Menu where plugin tabs are registered as actions.
Definition plugin_tab.h:142
void openView(const QString &name, PluginView *view)
Signal emitted when a plugin view should be opened.
Custom QGraphicsView for plugin functionality.
Definition plugin_view.h:11
Contains UI helper widgets and layout grouping utilities used by MAKI.
Definition generator.h:10
Internal data structure storing information about a plugin tab.
Definition plugin_tab.h:125
QAction * action
QAction used to open this plugin.
Definition plugin_tab.h:136
PluginView * view
Pointer to the graphical view associated with the plugin.
Definition plugin_tab.h:127
QGraphicsScene * scene
Scene used by the plugin to render its graphical content.
Definition plugin_tab.h:130
std::function< VoidResult(QGraphicsScene *scene)> callback
Callback responsible for populating or updating the scene.
Definition plugin_tab.h:133