17 #ifndef IGNITION_GUI_MAINWINDOW_HH_ 18 #define IGNITION_GUI_MAINWINDOW_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
182 bool showDialogOnExit
183 READ ShowDialogOnExit
184 WRITE SetShowDialogOnExit
185 NOTIFY ShowDialogOnExitChanged
192 public: virtual ~MainWindow();
196 public: QQuickWindow *QuickWindow() const;
202 public:
void SaveConfig(const
std::
string &_path);
215 public:
void SetRenderEngine(const
std::
string &_renderEngine);
219 public slots:
void OnAddPlugin(
QString _plugin);
223 public: Q_INVOKABLE
QStringList PluginListModel() const;
228 public: Q_INVOKABLE
int PluginCount() const;
233 public: Q_INVOKABLE
void SetPluginCount(const
int _pluginCount);
237 public: Q_INVOKABLE
QString MaterialTheme() const;
241 public: Q_INVOKABLE
void SetMaterialTheme(
242 const
QString &_materialTheme);
246 public: Q_INVOKABLE
QString MaterialPrimary() const;
250 public: Q_INVOKABLE
void SetMaterialPrimary(
251 const
QString &_materialPrimary);
255 public: Q_INVOKABLE
QString MaterialAccent() const;
259 public: Q_INVOKABLE
void SetMaterialAccent(
260 const
QString &_materialAccent);
264 public: Q_INVOKABLE
QString ToolBarColorLight() const;
268 public: Q_INVOKABLE
void SetToolBarColorLight(
269 const
QString &_toolBarColorLight);
273 public: Q_INVOKABLE
QString ToolBarTextColorLight() const;
277 public: Q_INVOKABLE
void SetToolBarTextColorLight(
278 const
QString &_toolBarTextColorLight);
282 public: Q_INVOKABLE
QString ToolBarColorDark() const;
286 public: Q_INVOKABLE
void SetToolBarColorDark(
287 const
QString &_toolBarColorDark);
291 public: Q_INVOKABLE
QString ToolBarTextColorDark() const;
295 public: Q_INVOKABLE
void SetToolBarTextColorDark(
296 const
QString &_toolBarTextColorDark);
300 public: Q_INVOKABLE
QString PluginToolBarColorLight() const;
304 public: Q_INVOKABLE
void SetPluginToolBarColorLight(
305 const
QString &_pluginPluginToolBarColorLight);
309 public: Q_INVOKABLE
QString PluginToolBarTextColorLight() const;
313 public: Q_INVOKABLE
void SetPluginToolBarTextColorLight(
314 const
QString &_pluginPluginToolBarTextColorLight);
318 public: Q_INVOKABLE
QString PluginToolBarColorDark() const;
322 public: Q_INVOKABLE
void SetPluginToolBarColorDark(
323 const
QString &_pluginPluginToolBarColorDark);
327 public: Q_INVOKABLE
QString PluginToolBarTextColorDark() const;
331 public: Q_INVOKABLE
void SetPluginToolBarTextColorDark(
332 const
QString &_pluginPluginToolBarTextColorDark);
336 public: Q_INVOKABLE
bool ShowDrawer() const;
340 public: Q_INVOKABLE
void SetShowDrawer(const
bool _showDrawer);
344 public: Q_INVOKABLE
bool ShowDefaultDrawerOpts() const;
348 public: Q_INVOKABLE
void SetShowDefaultDrawerOpts(
349 const
bool _showDefaultDrawerOpts);
353 public: Q_INVOKABLE
bool ShowPluginMenu() const;
357 public: Q_INVOKABLE
void SetShowPluginMenu(const
bool _showPluginMenu);
361 public: Q_INVOKABLE
bool ShowDialogOnExit() const;
365 public: Q_INVOKABLE
void SetShowDialogOnExit(
bool _showDialogOnExit);
368 public slots:
void OnLoadConfig(const
QString &_path);
371 public slots:
void OnSaveConfig();
374 public slots:
void OnSaveConfigAs(const
QString &_path);
377 signals:
void PluginCountChanged();
380 signals:
void MaterialThemeChanged();
383 signals:
void MaterialPrimaryChanged();
386 signals:
void MaterialAccentChanged();
389 signals:
void ToolBarColorLightChanged();
392 signals:
void ToolBarTextColorLightChanged();
395 signals:
void ToolBarColorDarkChanged();
398 signals:
void ToolBarTextColorDarkChanged();
401 signals:
void PluginToolBarColorLightChanged();
404 signals:
void PluginToolBarTextColorLightChanged();
407 signals:
void PluginToolBarColorDarkChanged();
410 signals:
void PluginToolBarTextColorDarkChanged();
413 signals:
void ShowDrawerChanged();
416 signals:
void ShowDefaultDrawerOptsChanged();
419 signals:
void ShowPluginMenuChanged();
422 signals:
void ShowDialogOnExitChanged();
425 signals:
void configChanged();
428 signals:
void notify(const
QString &_message);
432 private:
std::unique_ptr<MainWindowPrivate> dataPtr;
502 bool showDrawer{
true};
505 bool showDefaultDrawerOpts{
true};
508 bool showPluginMenu{
true};
512 bool pluginsFromPaths{
true};
Holds configurations related to a MainWindow.
Definition: MainWindow.hh:436
std::set< std::string > ignoredProps
List of window properties which should be ignored on load.
Definition: MainWindow.hh:518
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:466
std::vector< std::string > showPlugins
List of plugins which should be shown on the list.
Definition: MainWindow.hh:515