17 #ifndef IGNITION_GUI_MAINWINDOW_HH_ 18 #define IGNITION_GUI_MAINWINDOW_HH_ 26 #include <ignition/common/Console.hh> 29 #include "ignition/gui/Export.hh" 35 #pragma warning(disable: 4251) 42 class MainWindowPrivate;
57 NOTIFY PluginCountChanged
64 WRITE SetMaterialTheme
65 NOTIFY MaterialThemeChanged
72 WRITE SetMaterialPrimary
73 NOTIFY MaterialPrimaryChanged
80 WRITE SetMaterialAccent
81 NOTIFY MaterialAccentChanged
88 READ ToolBarColorLight
89 WRITE SetToolBarColorLight
90 NOTIFY ToolBarColorLightChanged
97 READ ToolBarTextColorLight
98 WRITE SetToolBarTextColorLight
99 NOTIFY ToolBarTextColorLightChanged
106 READ ToolBarColorDark
107 WRITE SetToolBarColorDark
108 NOTIFY ToolBarColorDarkChanged
115 READ ToolBarTextColorDark
116 WRITE SetToolBarTextColorDark
117 NOTIFY ToolBarTextColorDarkChanged
123 QString pluginToolBarColorLight
124 READ PluginToolBarColorLight
125 WRITE SetPluginToolBarColorLight
126 NOTIFY PluginToolBarColorLightChanged
132 QString pluginToolBarTextColorLight
133 READ PluginToolBarTextColorLight
134 WRITE SetPluginToolBarTextColorLight
135 NOTIFY PluginToolBarTextColorLightChanged
142 READ PluginToolBarColorDark
143 WRITE SetPluginToolBarColorDark
144 NOTIFY PluginToolBarColorDarkChanged
150 QString pluginToolBarTextColorDark
151 READ PluginToolBarTextColorDark
152 WRITE SetPluginToolBarTextColorDark
153 NOTIFY PluginToolBarTextColorDarkChanged
161 NOTIFY ShowDrawerChanged
166 bool showDefaultDrawerOpts
167 READ ShowDefaultDrawerOpts
168 WRITE SetShowDefaultDrawerOpts
169 NOTIFY ShowDefaultDrawerOptsChanged
176 WRITE SetShowPluginMenu
177 NOTIFY ShowPluginMenuChanged
184 public: virtual ~MainWindow();
188 public: QQuickWindow *QuickWindow() const;
194 public:
void SaveConfig(const
std::
string &_path);
207 public slots:
void OnAddPlugin(
QString _plugin);
211 public: Q_INVOKABLE
QStringList PluginListModel() const;
216 public: Q_INVOKABLE
int PluginCount() const;
221 public: Q_INVOKABLE
void SetPluginCount(const
int _pluginCount);
225 public: Q_INVOKABLE
QString MaterialTheme() const;
229 public: Q_INVOKABLE
void SetMaterialTheme(
230 const
QString &_materialTheme);
234 public: Q_INVOKABLE
QString MaterialPrimary() const;
238 public: Q_INVOKABLE
void SetMaterialPrimary(
239 const
QString &_materialPrimary);
243 public: Q_INVOKABLE
QString MaterialAccent() const;
247 public: Q_INVOKABLE
void SetMaterialAccent(
248 const
QString &_materialAccent);
252 public: Q_INVOKABLE
QString ToolBarColorLight() const;
256 public: Q_INVOKABLE
void SetToolBarColorLight(
257 const
QString &_toolBarColorLight);
261 public: Q_INVOKABLE
QString ToolBarTextColorLight() const;
265 public: Q_INVOKABLE
void SetToolBarTextColorLight(
266 const
QString &_toolBarTextColorLight);
270 public: Q_INVOKABLE
QString ToolBarColorDark() const;
274 public: Q_INVOKABLE
void SetToolBarColorDark(
275 const
QString &_toolBarColorDark);
279 public: Q_INVOKABLE
QString ToolBarTextColorDark() const;
283 public: Q_INVOKABLE
void SetToolBarTextColorDark(
284 const
QString &_toolBarTextColorDark);
288 public: Q_INVOKABLE
QString PluginToolBarColorLight() const;
292 public: Q_INVOKABLE
void SetPluginToolBarColorLight(
293 const
QString &_pluginPluginToolBarColorLight);
297 public: Q_INVOKABLE
QString PluginToolBarTextColorLight() const;
301 public: Q_INVOKABLE
void SetPluginToolBarTextColorLight(
302 const
QString &_pluginPluginToolBarTextColorLight);
306 public: Q_INVOKABLE
QString PluginToolBarColorDark() const;
310 public: Q_INVOKABLE
void SetPluginToolBarColorDark(
311 const
QString &_pluginPluginToolBarColorDark);
315 public: Q_INVOKABLE
QString PluginToolBarTextColorDark() const;
319 public: Q_INVOKABLE
void SetPluginToolBarTextColorDark(
320 const
QString &_pluginPluginToolBarTextColorDark);
324 public: Q_INVOKABLE
bool ShowDrawer() const;
328 public: Q_INVOKABLE
void SetShowDrawer(const
bool _showDrawer);
332 public: Q_INVOKABLE
bool ShowDefaultDrawerOpts() const;
336 public: Q_INVOKABLE
void SetShowDefaultDrawerOpts(
337 const
bool _showDefaultDrawerOpts);
341 public: Q_INVOKABLE
bool ShowPluginMenu() const;
345 public: Q_INVOKABLE
void SetShowPluginMenu(const
bool _showPluginMenu);
348 public slots:
void OnLoadConfig(const
QString &_path);
351 public slots:
void OnSaveConfig();
354 public slots:
void OnSaveConfigAs(const
QString &_path);
357 signals:
void PluginCountChanged();
360 signals:
void MaterialThemeChanged();
363 signals:
void MaterialPrimaryChanged();
366 signals:
void MaterialAccentChanged();
369 signals:
void ToolBarColorLightChanged();
372 signals:
void ToolBarTextColorLightChanged();
375 signals:
void ToolBarColorDarkChanged();
378 signals:
void ToolBarTextColorDarkChanged();
381 signals:
void PluginToolBarColorLightChanged();
384 signals:
void PluginToolBarTextColorLightChanged();
387 signals:
void PluginToolBarColorDarkChanged();
390 signals:
void PluginToolBarTextColorDarkChanged();
393 signals:
void ShowDrawerChanged();
396 signals:
void ShowDefaultDrawerOptsChanged();
399 signals:
void ShowPluginMenuChanged();
402 signals:
void configChanged();
405 signals:
void notify(const
QString &_message);
409 private:
std::unique_ptr<MainWindowPrivate> dataPtr;
479 bool showDrawer{
true};
482 bool showDefaultDrawerOpts{
true};
485 bool showPluginMenu{
true};
489 bool pluginsFromPaths{
true};
Holds configurations related to a MainWindow.
Definition: MainWindow.hh:413
std::set< std::string > ignoredProps
List of window properties which should be ignored on load.
Definition: MainWindow.hh:495
The main window class creates a QQuickWindow and acts as an interface which provides properties and f...
Definition: MainWindow.hh:48
QByteArray state
Window state (dock configuration)
Definition: MainWindow.hh:443
Definition: Application.hh:40
std::vector< std::string > showPlugins
List of plugins which should be shown on the list.
Definition: MainWindow.hh:492