#ifndef QT_BOOKMARK_VIEW_H #define QT_BOOKMARK_VIEW_H #include "component/controller/BookmarkController.h" #include "component/controller/helper/ControllerProxy.h" #include "component/view/BookmarkView.h" #include "qt/utility/QtThreadedFunctor.h" class QFrame; class QtBookmarkBrowser; class QtSearchBarButton; class QtBookmarkView : public QObject , public BookmarkView { Q_OBJECT public: QtBookmarkView(ViewLayout* viewLayout); virtual ~QtBookmarkView(); // View implementation virtual void createWidgetWrapper(); virtual void initView(); virtual void refreshView(); // BookmarkView implementation virtual void setCreateButtonState(const CreateButtonState& state); virtual void displayBookmarkCreator( const std::vector& names, const std::vector& categories, Id nodeId); virtual void displayBookmarkEditor( std::shared_ptr bookmark, const std::vector& categories); virtual void displayBookmarks(const std::vector>& bookmarks); virtual void enableDisplayBookmarks(bool enable); virtual bool bookmarkBrowserIsVisible() const; private slots: void createBookmarkClicked(); void showBookmarksClicked(); private: ControllerProxy m_controllerProxy; QtThreadedLambdaFunctor m_onQtThread; QFrame* m_widget; QtSearchBarButton* m_createBookmarkButton; QtSearchBarButton* m_showBookmarksButton; QtBookmarkBrowser* m_bookmarkBrowser; BookmarkView::CreateButtonState m_createButtonState; }; #endif // QT_BOOKMARK_VIEW_H