#pragma once #include #include #include #include "nglwidgets_export.h" namespace NGL { class INGLLogger; } class NGLWIDGETS_EXPORT NGLMainWindow : public QMainWindow { Q_OBJECT public: explicit NGLMainWindow(QWidget *parent = nullptr); virtual void setVersionView() = 0; public slots: void onHelpIndex(); void onHelpAbout(); void onInvokeHelp(const QString &); void onHelpFinished(int exitCode, QProcess::ExitStatus exitStatus); private: QProcess *m_helpProcess; protected: NGL::INGLLogger &m_logger; QWidget *m_versionView; QMenuBar *m_menuBar; QMap m_menu; QAction *m_fileActionBefore; protected slots: void onVersionViewDeleted(); void onExit(); };