#ifndef QT_MAIN_VIEW_H #define QT_MAIN_VIEW_H #include #include #include #include "MainView.h" #include "QtThreadedFunctor.h" #include "MessageListener.h" #include "MessageForceEnterLicense.h" #include "MessageProjectEdit.h" #include "MessageProjectNew.h" class QtMainWindow; class View; class QtMainView : public MainView , public MessageListener , public MessageListener , public MessageListener { public: QtMainView(const ViewFactory* viewFactory, StorageAccess* storageAccess); virtual ~QtMainView(); QtMainWindow* getMainWindow() const; // ViewLayout implementation void addView(View* view) override; void overrideView(View* view) override; void removeView(View* view) override; void showView(View* view) override; void hideView(View* view) override; void setViewEnabled(View* view, bool enabled) override; View* findFloatingView(const std::string& name) const override; void showOriginalViews() override; QStatusBar* getStatusBar(); void setStatusBar(QStatusBar* statusBar); // MainView implementation void loadLayout() override; void saveLayout() override; void loadWindow(bool showStartWindow) override; void refreshView() override; void hideStartScreen() override; void setTitle(const std::wstring& title) override; void activateWindow() override; void updateRecentProjectMenu() override; void updateHistoryMenu(std::shared_ptr message) override; void clearHistoryMenu() override; void updateBookmarksMenu(const std::vector>& bookmarks) override; void clearBookmarksMenu() override; private: void handleMessage(MessageForceEnterLicense* message) override; void handleMessage(MessageProjectEdit* message) override; void handleMessage(MessageProjectNew* message) override; std::shared_ptr m_window; std::vector m_views; QtThreadedLambdaFunctor m_onQtThread; }; #endif // QT_MAIN_VIEW_H