14 #include <QtCore/QString>
15 #include <QtCore/QVector>
16 #include <QtCore/QPair>
17 #include <QtCore/QRect>
19 #include <plugins/Forward.h>
31 using TexturePointer = std::shared_ptr<Texture>;
41 class PluginContainer {
43 static PluginContainer& getInstance();
45 virtual ~PluginContainer();
47 void addMenu(
const QString& menuName);
48 void removeMenu(
const QString& menuName);
49 void addMenuItem(PluginType pluginType,
const QString& path,
const QString& name, std::function<
void(
bool)> onClicked,
bool checkable =
false,
bool checked =
false,
const QString& groupName =
"");
50 void removeMenuItem(
const QString& menuName,
const QString& menuItem);
51 bool isOptionChecked(
const QString& name);
52 void setIsOptionChecked(
const QString& path,
bool checked);
54 void setFullscreen(
const QScreen* targetScreen,
bool hideMenu =
false);
55 void unsetFullscreen(
const QScreen* avoidScreen =
nullptr);
63 virtual ui::Menu* getPrimaryMenu() = 0;
64 virtual void showDisplayPluginsTools(
bool show =
true) = 0;
65 virtual void requestReset() = 0;
66 virtual bool makeRenderingContextCurrent() = 0;
67 virtual GLWidget* getPrimaryWidget() = 0;
68 virtual MainWindow* getPrimaryWindow() = 0;
69 virtual QOpenGLContext* getPrimaryContext() = 0;
70 virtual bool isForeground()
const = 0;
71 virtual DisplayPluginPointer getActiveDisplayPlugin()
const = 0;
74 bool getBoolSetting(
const QString& settingName,
bool defaultValue);
75 void setBoolSetting(
const QString& settingName,
bool value);
77 QVector<QPair<QString, QString>>& currentDisplayActions() {
78 return _currentDisplayPluginActions;
81 QVector<QPair<QString, QString>>& currentInputActions() {
82 return _currentInputPluginActions;
86 void flushMenuUpdates();
87 QVector<QPair<QString, QString>> _currentDisplayPluginActions;
88 QVector<QPair<QString, QString>> _currentInputPluginActions;
89 QRect _savedGeometry { 10, 120, 800, 600 };
A simple object wrapper for an OpenGL texture.
Definition: material-networking/src/material-networking/TextureCache.h:39