diff --git a/src/lib/component/controller/CodeController.cpp b/src/lib/component/controller/CodeController.cpp index 31e0055b..c928a826 100644 --- a/src/lib/component/controller/CodeController.cpp +++ b/src/lib/component/controller/CodeController.cpp @@ -51,6 +51,7 @@ void CodeController::handleMessage(MessageActivateTokens* message) if (message->keepContent()) { + view->showActiveTokenIds(); return; } diff --git a/src/lib/component/view/CodeView.h b/src/lib/component/view/CodeView.h index 721037c3..55fed815 100644 --- a/src/lib/component/view/CodeView.h +++ b/src/lib/component/view/CodeView.h @@ -51,6 +51,7 @@ public: virtual void showCodeFile(const CodeSnippetParams& params) = 0; virtual void showFirstActiveSnippet() = 0; + virtual void showActiveTokenIds() = 0; virtual void focusTokenIds(const std::vector& focusedTokenIds) = 0; virtual void defocusTokenIds() = 0; diff --git a/src/lib_gui/qt/element/QtCodeFileList.cpp b/src/lib_gui/qt/element/QtCodeFileList.cpp index c71a7900..9643fa71 100644 --- a/src/lib_gui/qt/element/QtCodeFileList.cpp +++ b/src/lib_gui/qt/element/QtCodeFileList.cpp @@ -107,6 +107,11 @@ void QtCodeFileList::setErrorMessages(const std::vector& errorMessa m_errorMessages = errorMessages; } +void QtCodeFileList::showActiveTokenIds() +{ + updateFiles(); +} + bool QtCodeFileList::scrollToFirstActiveSnippet() { updateFiles(); diff --git a/src/lib_gui/qt/element/QtCodeFileList.h b/src/lib_gui/qt/element/QtCodeFileList.h index 6b035860..0783c655 100644 --- a/src/lib_gui/qt/element/QtCodeFileList.h +++ b/src/lib_gui/qt/element/QtCodeFileList.h @@ -52,6 +52,8 @@ public: const std::vector& getErrorMessages() const; void setErrorMessages(const std::vector& errorMessages); + void showActiveTokenIds(); + bool scrollToFirstActiveSnippet(); void expandActiveSnippetFile(); diff --git a/src/lib_gui/qt/view/QtCodeView.cpp b/src/lib_gui/qt/view/QtCodeView.cpp index 47b671e5..c1ed3995 100644 --- a/src/lib_gui/qt/view/QtCodeView.cpp +++ b/src/lib_gui/qt/view/QtCodeView.cpp @@ -15,6 +15,7 @@ QtCodeView::QtCodeView(ViewLayout* viewLayout) , m_addCodeSnippetsFunctor(std::bind(&QtCodeView::doAddCodeSnippets, this, std::placeholders::_1, std::placeholders::_2)) , m_showCodeFileFunctor(std::bind(&QtCodeView::doShowCodeFile, this, std::placeholders::_1)) , m_doShowFirstActiveSnippetFunctor(std::bind(&QtCodeView::doShowFirstActiveSnippet, this)) + , m_doShowActiveTokenIdsFunctor(std::bind(&QtCodeView::doShowActiveTokenIds, this)) , m_focusTokenIdsFunctor(std::bind(&QtCodeView::doFocusTokenIds, this, std::placeholders::_1)) , m_defocusTokenIdsFunctor(std::bind(&QtCodeView::doDefocusTokenIds, this)) , m_isExpanding(false) @@ -71,6 +72,11 @@ void QtCodeView::showFirstActiveSnippet() m_doShowFirstActiveSnippetFunctor(); } +void QtCodeView::showActiveTokenIds() +{ + m_doShowActiveTokenIdsFunctor(); +} + void QtCodeView::focusTokenIds(const std::vector& focusedTokenIds) { m_focusTokenIdsFunctor(focusedTokenIds); @@ -159,6 +165,12 @@ void QtCodeView::doShowFirstActiveSnippet() } } +void QtCodeView::doShowActiveTokenIds() +{ + m_widget->setActiveTokenIds(m_activeTokenIds); + m_widget->showActiveTokenIds(); +} + void QtCodeView::doFocusTokenIds(const std::vector& focusedTokenIds) { m_widget->focusTokenIds(focusedTokenIds); diff --git a/src/lib_gui/qt/view/QtCodeView.h b/src/lib_gui/qt/view/QtCodeView.h index 2fe022f7..22ee5193 100644 --- a/src/lib_gui/qt/view/QtCodeView.h +++ b/src/lib_gui/qt/view/QtCodeView.h @@ -34,6 +34,7 @@ public: virtual void showCodeFile(const CodeSnippetParams& params); virtual void showFirstActiveSnippet(); + virtual void showActiveTokenIds(); virtual void focusTokenIds(const std::vector& focusedTokenIds); virtual void defocusTokenIds(); @@ -46,6 +47,7 @@ private: void doShowCodeFile(const CodeSnippetParams& params); void doShowFirstActiveSnippet(); + void doShowActiveTokenIds(); void doFocusTokenIds(const std::vector& focusedTokenIds); void doDefocusTokenIds(); @@ -57,6 +59,7 @@ private: QtThreadedFunctor&, bool> m_addCodeSnippetsFunctor; QtThreadedFunctor m_showCodeFileFunctor; QtThreadedFunctor<> m_doShowFirstActiveSnippetFunctor; + QtThreadedFunctor<> m_doShowActiveTokenIdsFunctor; QtThreadedFunctor&> m_focusTokenIdsFunctor; QtThreadedFunctor<> m_defocusTokenIdsFunctor;