#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 clear(); virtual void setActiveTokenIds(const std::vector& activeTokenIds); virtual void setErrorInfos(const std::vector& errorInfos); virtual void showCodeSnippets(const std::vector& snippets, const std::vector& activeTokenIds); virtual void addCodeSnippets(const std::vector& snippets, bool insert); virtual void showCodeFile(const CodeSnippetParams& params); virtual void setFileState(const FilePath filePath, FileState state); virtual void showFirstActiveSnippet(const std::vector& activeTokenIds, bool scrollTo); virtual void showActiveTokenIds(const std::vector& activeTokenIds); virtual void showActiveLocalSymbolIds(const std::vector& activeLocalSymbolIds); virtual void focusTokenIds(const std::vector& focusedTokenIds); virtual void defocusTokenIds(); virtual void showContents(); virtual void scrollToValue(int value); private: void doRefreshView(); void doClear(); void doShowCodeSnippets(const std::vector& snippets, const std::vector& activeTokenIds); void doAddCodeSnippets(const std::vector& snippets, bool insert); void doShowCodeFile(const CodeSnippetParams& params); void doSetFileState(const FilePath filePath, FileState state); void doShowFirstActiveSnippet(const std::vector& activeTokenIds, bool scrollTo); void doShowActiveTokenIds(const std::vector& activeTokenIds); void doShowActiveLocalSymbolIds(const std::vector& localSymbolIds); void doFocusTokenIds(const std::vector& focusedTokenIds); void doDefocusTokenIds(); void doShowContents(); void doScrollToValue(int value); void setStyleSheet() const; QtThreadedFunctor<> m_refreshViewFunctor; QtThreadedFunctor<> m_clearFunctor; QtThreadedFunctor&, const std::vector&> m_showCodeSnippetsFunctor; QtThreadedFunctor&, bool> m_addCodeSnippetsFunctor; QtThreadedFunctor m_showCodeFileFunctor; QtThreadedFunctor m_setFileStateFunctor; QtThreadedFunctor&, bool> m_doShowFirstActiveSnippetFunctor; QtThreadedFunctor&> m_doShowActiveTokenIdsFunctor; QtThreadedFunctor&> m_doShowActiveLocalSymbolIdsFunctor; QtThreadedFunctor&> m_focusTokenIdsFunctor; QtThreadedFunctor<> m_defocusTokenIdsFunctor; QtThreadedFunctor<> m_showContentsFunctor; QtThreadedFunctor m_scrollToValueFunctor; QtCodeFileList* m_widget; std::vector m_activeTokenIds; std::vector m_errorInfos; }; # endif // QT_CODE_VIEW_H