#ifndef QT_CODE_VIEW_H #define QT_CODE_VIEW_H #include #include #include "utility/types.h" #include "component/view/CodeView.h" #include "qt/utility/QtThreadedFunctor.h" class QFrame; class QtCodeFileList; class QWidget; class QtCodeView : public CodeView { public: QtCodeView(ViewLayout* viewLayout); ~QtCodeView(); // View implementation virtual void createWidgetWrapper(); virtual void initView(); virtual void refreshView(); // CodeView implementation virtual void setActiveTokenIds(const std::vector& activeTokenIds); virtual void setErrorMessages(const std::vector& errorMessages); virtual void showCodeSnippets(const std::vector& snippets); virtual void addCodeSnippets(const std::vector& snippets); virtual void showCodeFile(const CodeSnippetParams& params); virtual void showFirstActiveSnippet(); virtual void focusTokenIds(const std::vector& focusedTokenIds); virtual void defocusTokenIds(); private: void doRefreshView(); void doShowCodeSnippets(const std::vector& snippets); void doAddCodeSnippets(const std::vector& snippets); void doShowCodeFile(const CodeSnippetParams& params); void doShowFirstActiveSnippet(); void doFocusTokenIds(const std::vector& focusedTokenIds); void doDefocusTokenIds(); void setStyleSheet() const; QtThreadedFunctor<> m_refreshViewFunctor; QtThreadedFunctor&> m_showCodeSnippetsFunctor; QtThreadedFunctor&> m_addCodeSnippetsFunctor; QtThreadedFunctor m_showCodeFileFunctor; QtThreadedFunctor<> m_doShowFirstActiveSnippetFunctor; QtThreadedFunctor&> m_focusTokenIdsFunctor; QtThreadedFunctor<> m_defocusTokenIdsFunctor; QtCodeFileList* m_widget; std::vector m_activeTokenIds; std::vector m_errorMessages; }; # endif // QT_CODE_VIEW_H