Mercurial > minori
view include/gui/window.h @ 150:ffa535b6d630
*: avoid usage of std::[pair,tuple]
https://arne-mertz.de/2017/03/smelly-pair-tuple/
it's better to use real structures and such where variables are easily known...
also apparently using [] on structs is actually valid? I had no idea.
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Tue, 14 Nov 2023 16:27:33 -0500 |
parents | ab191e28e69d |
children | c8375765f0fc |
line wrap: on
line source
#ifndef __window_h #define __window_h #include "core/config.h" #include <QMainWindow> #include <memory> /* *could* be forward-declared, but this causes any file that #includes this to have to #include these as well due to unique_ptr */ #include <QWidget> #include <QStackedWidget> #include <QCloseEvent> #include "gui/widgets/sidebar.h" class MainWindow final : public QMainWindow { Q_OBJECT public: MainWindow(QWidget* parent = nullptr); void SetActivePage(QWidget* page); void CreateBars(); void AddMainWidgets(); void RetranslateUI(); void AsyncSynchronize(QStackedWidget* stack); void changeEvent(QEvent* event) override; void showEvent(QShowEvent* event) override; void closeEvent(QCloseEvent* event) override; private: std::unique_ptr<QWidget> main_widget = nullptr; std::unique_ptr<QStackedWidget> stack = nullptr; std::unique_ptr<SideBar> sidebar = nullptr; }; #endif // __window_h