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 class MainWindowPrivate;
50 NOTIFY PluginCountChanged
57 WRITE SetMaterialTheme
58 NOTIFY MaterialThemeChanged
65 WRITE SetMaterialPrimary
66 NOTIFY MaterialPrimaryChanged
73 WRITE SetMaterialAccent
74 NOTIFY MaterialAccentChanged
81 READ ToolBarColorLight
82 WRITE SetToolBarColorLight
83 NOTIFY ToolBarColorLightChanged
90 READ ToolBarTextColorLight
91 WRITE SetToolBarTextColorLight
92 NOTIFY ToolBarTextColorLightChanged
100 WRITE SetToolBarColorDark
101 NOTIFY ToolBarColorDarkChanged
108 READ ToolBarTextColorDark
109 WRITE SetToolBarTextColorDark
110 NOTIFY ToolBarTextColorDarkChanged
116 QString pluginToolBarColorLight
117 READ PluginToolBarColorLight
118 WRITE SetPluginToolBarColorLight
119 NOTIFY PluginToolBarColorLightChanged
125 QString pluginToolBarTextColorLight
126 READ PluginToolBarTextColorLight
127 WRITE SetPluginToolBarTextColorLight
128 NOTIFY PluginToolBarTextColorLightChanged
135 READ PluginToolBarColorDark
136 WRITE SetPluginToolBarColorDark
137 NOTIFY PluginToolBarColorDarkChanged
143 QString pluginToolBarTextColorDark
144 READ PluginToolBarTextColorDark
145 WRITE SetPluginToolBarTextColorDark
146 NOTIFY PluginToolBarTextColorDarkChanged
154 NOTIFY ShowDrawerChanged
159 bool showDefaultDrawerOpts
160 READ ShowDefaultDrawerOpts
161 WRITE SetShowDefaultDrawerOpts
162 NOTIFY ShowDefaultDrawerOptsChanged
169 WRITE SetShowPluginMenu
170 NOTIFY ShowPluginMenuChanged
177 public: virtual ~MainWindow();
181 public: QQuickWindow *QuickWindow() const;
187 public:
void SaveConfig(const
std::
string &_path);
200 public slots:
void OnAddPlugin(
QString _plugin);
204 public: Q_INVOKABLE
QStringList PluginListModel() const;
209 public: Q_INVOKABLE
int PluginCount() const;
214 public: Q_INVOKABLE
void SetPluginCount(const
int _pluginCount);
218 public: Q_INVOKABLE
QString MaterialTheme() const;
222 public: Q_INVOKABLE
void SetMaterialTheme(
223 const
QString &_materialTheme);
227 public: Q_INVOKABLE
QString MaterialPrimary() const;
231 public: Q_INVOKABLE
void SetMaterialPrimary(
232 const
QString &_materialPrimary);
236 public: Q_INVOKABLE
QString MaterialAccent() const;
240 public: Q_INVOKABLE
void SetMaterialAccent(
241 const
QString &_materialAccent);
245 public: Q_INVOKABLE
QString ToolBarColorLight() const;
249 public: Q_INVOKABLE
void SetToolBarColorLight(
250 const
QString &_toolBarColorLight);
254 public: Q_INVOKABLE
QString ToolBarTextColorLight() const;
258 public: Q_INVOKABLE
void SetToolBarTextColorLight(
259 const
QString &_toolBarTextColorLight);
263 public: Q_INVOKABLE
QString ToolBarColorDark() const;
267 public: Q_INVOKABLE
void SetToolBarColorDark(
268 const
QString &_toolBarColorDark);
272 public: Q_INVOKABLE
QString ToolBarTextColorDark() const;
276 public: Q_INVOKABLE
void SetToolBarTextColorDark(
277 const
QString &_toolBarTextColorDark);
281 public: Q_INVOKABLE
QString PluginToolBarColorLight() const;
285 public: Q_INVOKABLE
void SetPluginToolBarColorLight(
286 const
QString &_pluginPluginToolBarColorLight);
290 public: Q_INVOKABLE
QString PluginToolBarTextColorLight() const;
294 public: Q_INVOKABLE
void SetPluginToolBarTextColorLight(
295 const
QString &_pluginPluginToolBarTextColorLight);
299 public: Q_INVOKABLE
QString PluginToolBarColorDark() const;
303 public: Q_INVOKABLE
void SetPluginToolBarColorDark(
304 const
QString &_pluginPluginToolBarColorDark);
308 public: Q_INVOKABLE
QString PluginToolBarTextColorDark() const;
312 public: Q_INVOKABLE
void SetPluginToolBarTextColorDark(
313 const
QString &_pluginPluginToolBarTextColorDark);
317 public: Q_INVOKABLE
bool ShowDrawer() const;
321 public: Q_INVOKABLE
void SetShowDrawer(const
bool _showDrawer);
325 public: Q_INVOKABLE
bool ShowDefaultDrawerOpts() const;
329 public: Q_INVOKABLE
void SetShowDefaultDrawerOpts(
330 const
bool _showDefaultDrawerOpts);
334 public: Q_INVOKABLE
bool ShowPluginMenu() const;
338 public: Q_INVOKABLE
void SetShowPluginMenu(const
bool _showPluginMenu);
341 public slots:
void OnLoadConfig(const
QString &_path);
344 public slots:
void OnSaveConfig();
347 public slots:
void OnSaveConfigAs(const
QString &_path);
350 signals:
void PluginCountChanged();
353 signals:
void MaterialThemeChanged();
356 signals:
void MaterialPrimaryChanged();
359 signals:
void MaterialAccentChanged();
362 signals:
void ToolBarColorLightChanged();
365 signals:
void ToolBarTextColorLightChanged();
368 signals:
void ToolBarColorDarkChanged();
371 signals:
void ToolBarTextColorDarkChanged();
374 signals:
void PluginToolBarColorLightChanged();
377 signals:
void PluginToolBarTextColorLightChanged();
380 signals:
void PluginToolBarColorDarkChanged();
383 signals:
void PluginToolBarTextColorDarkChanged();
386 signals:
void ShowDrawerChanged();
389 signals:
void ShowDefaultDrawerOptsChanged();
392 signals:
void ShowPluginMenuChanged();
395 signals:
void configChanged();
398 signals:
void notify(const
QString &_message);
402 private:
std::unique_ptr<MainWindowPrivate> dataPtr;
472 bool showDrawer{
true};
475 bool showDefaultDrawerOpts{
true};
478 bool showPluginMenu{
true};
482 bool pluginsFromPaths{
true};
Holds configurations related to a MainWindow.
Definition: MainWindow.hh:406
std::set< std::string > ignoredProps
List of window properties which should be ignored on load.
Definition: MainWindow.hh:488
The main window class creates a QQuickWindow and acts as an interface which provides properties and f...
Definition: MainWindow.hh:41
QByteArray state
Window state (dock configuration)
Definition: MainWindow.hh:436
Definition: Application.hh:33
std::vector< std::string > showPlugins
List of plugins which should be shown on the list.
Definition: MainWindow.hh:485