diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt index cd5762be..fcda0d2f 100644 --- a/src/lib/CMakeLists.txt +++ b/src/lib/CMakeLists.txt @@ -16,6 +16,8 @@ add_files( app/LanguagePackageManager.h app/UpdateChecker.h + component/controller/helper/ActivationListener.cpp + component/controller/helper/ActivationListener.h component/controller/helper/BucketLayouter.cpp component/controller/helper/BucketLayouter.h component/controller/helper/DummyEdge.h @@ -480,8 +482,13 @@ add_files( utility/messaging/filter_types/MessageFilterFocusInOut.h utility/messaging/filter_types/MessageFilterSearchAutocomplete.h - utility/messaging/type/activation/MessageActivateLegend.h + utility/messaging/type/activation/MessageActivateBase.h + utility/messaging/type/activation/MessageActivateErrors.h utility/messaging/type/activation/MessageActivateFullTextSearch.h + utility/messaging/type/activation/MessageActivateLegend.h + utility/messaging/type/activation/MessageActivateOverview.h + utility/messaging/type/activation/MessageActivateTokens.h + utility/messaging/type/activation/MessageActivateTrail.h utility/messaging/type/bookmark/MessageBookmarkActivate.h utility/messaging/type/bookmark/MessageBookmarkBrowse.h @@ -490,11 +497,20 @@ add_files( utility/messaging/type/bookmark/MessageBookmarkDelete.h utility/messaging/type/bookmark/MessageBookmarkEdit.h + utility/messaging/type/code/MessageActivateFile.h + utility/messaging/type/code/MessageActivateLocalSymbols.h + utility/messaging/type/code/MessageActivateSourceLocations.h + utility/messaging/type/code/MessageActivateTokenIds.h + utility/messaging/type/code/MessageChangeFileView.h + utility/messaging/type/code/MessageCodeReference.h utility/messaging/type/code/MessageCodeShowDefinition.h + utility/messaging/type/code/MessageScrollCode.h + utility/messaging/type/code/MessageScrollToLine.h + utility/messaging/type/code/MessageShowReference.h + utility/messaging/type/code/MessageShowScope.h utility/messaging/type/custom_trail/MessageCustomTrailShow.h - utility/messaging/type/error/MessageActivateErrors.h utility/messaging/type/error/MessageErrorCountClear.h utility/messaging/type/error/MessageErrorCountUpdate.h utility/messaging/type/error/MessageErrorsAll.h @@ -502,6 +518,16 @@ add_files( utility/messaging/type/error/MessageErrorsHelpMessage.h utility/messaging/type/error/MessageShowError.h + utility/messaging/type/graph/MessageActivateEdge.h + utility/messaging/type/graph/MessageActivateNodes.h + utility/messaging/type/graph/MessageActivateTrailEdge.h + utility/messaging/type/graph/MessageDeactivateEdge.h + utility/messaging/type/graph/MessageGraphNodeBundleSplit.h + utility/messaging/type/graph/MessageGraphNodeExpand.h + utility/messaging/type/graph/MessageGraphNodeHide.h + utility/messaging/type/graph/MessageGraphNodeMove.h + utility/messaging/type/graph/MessageScrollGraph.h + utility/messaging/type/history/MessageHistoryToPosition.h utility/messaging/type/history/MessageHistoryRedo.h utility/messaging/type/history/MessageHistoryUndo.h @@ -512,6 +538,12 @@ add_files( utility/messaging/type/indexing/MessageIndexingStarted.h utility/messaging/type/indexing/MessageIndexingStatus.h + utility/messaging/type/plugin/MessageIDECreateCDB.h + utility/messaging/type/plugin/MessageMoveIDECursor.h + utility/messaging/type/plugin/MessagePingReceived.h + utility/messaging/type/plugin/MessagePluginPortChange.h + + utility/messaging/type/search/MessageFind.h utility/messaging/type/search/MessageSearch.h utility/messaging/type/search/MessageSearchAutocomplete.h @@ -521,49 +553,20 @@ add_files( utility/messaging/type/tab/MessageTabSelect.h utility/messaging/type/tab/MessageTabState.h - utility/messaging/type/MessageActivateAll.h - utility/messaging/type/MessageActivateBase.h - utility/messaging/type/MessageActivateEdge.h - utility/messaging/type/MessageActivateFile.h - utility/messaging/type/MessageActivateLocalSymbols.h - utility/messaging/type/MessageActivateNodes.h - utility/messaging/type/MessageActivateSourceLocations.h - utility/messaging/type/MessageActivateTokenIds.h - utility/messaging/type/MessageActivateTokens.h - utility/messaging/type/MessageActivateTrail.h - utility/messaging/type/MessageActivateTrailEdge.h utility/messaging/type/MessageActivateWindow.h - utility/messaging/type/MessageChangeFileView.h - utility/messaging/type/MessageClearLogView.h utility/messaging/type/MessageClearStatusView.h utility/messaging/type/MessageCloseProject.h - utility/messaging/type/MessageCodeReference.h - utility/messaging/type/MessageDeactivateEdge.h - utility/messaging/type/MessageFind.h utility/messaging/type/MessageFlushUpdates.h utility/messaging/type/MessageFocusIn.h utility/messaging/type/MessageFocusOut.h - utility/messaging/type/MessageGraphNodeBundleSplit.h - utility/messaging/type/MessageGraphNodeExpand.h - utility/messaging/type/MessageGraphNodeHide.h - utility/messaging/type/MessageGraphNodeMove.h - utility/messaging/type/MessageIDECreateCDB.h utility/messaging/type/MessageLoadProject.h utility/messaging/type/MessageLogFilterChanged.h - utility/messaging/type/MessageMoveIDECursor.h - utility/messaging/type/MessagePingReceived.h - utility/messaging/type/MessagePluginPortChange.h utility/messaging/type/MessageProjectEdit.h utility/messaging/type/MessageProjectNew.h utility/messaging/type/MessageQuitApplication.h utility/messaging/type/MessageRefresh.h utility/messaging/type/MessageRefreshUI.h utility/messaging/type/MessageResetZoom.h - utility/messaging/type/MessageScrollCode.h - utility/messaging/type/MessageScrollGraph.h - utility/messaging/type/MessageScrollToLine.h - utility/messaging/type/MessageShowReference.h - utility/messaging/type/MessageShowScope.h utility/messaging/type/MessageShowStatus.h utility/messaging/type/MessageStatus.cpp utility/messaging/type/MessageStatus.h diff --git a/src/lib/component/controller/ActivationController.cpp b/src/lib/component/controller/ActivationController.cpp index aea80566..2b26791d 100644 --- a/src/lib/component/controller/ActivationController.cpp +++ b/src/lib/component/controller/ActivationController.cpp @@ -5,7 +5,7 @@ #include "MessageActivateLegend.h" #include "MessageErrorsAll.h" -#include "MessageActivateAll.h" +#include "MessageActivateOverview.h" #include "MessageActivateTokens.h" #include "MessageChangeFileView.h" #include "MessageFlushUpdates.h" @@ -151,7 +151,7 @@ void ActivationController::handleMessage(MessageSearch* message) case SearchMatch::COMMAND_ALL: case SearchMatch::COMMAND_NODE_FILTER: { - MessageActivateAll msg(message->acceptedNodeTypes); + MessageActivateOverview msg(message->acceptedNodeTypes); msg.setSchedulerId(message->getSchedulerId()); msg.dispatch(); return; diff --git a/src/lib/component/controller/BookmarkController.cpp b/src/lib/component/controller/BookmarkController.cpp index a4a22eaf..5d49fd23 100644 --- a/src/lib/component/controller/BookmarkController.cpp +++ b/src/lib/component/controller/BookmarkController.cpp @@ -296,22 +296,7 @@ std::vector BookmarkController::BookmarkCache::getAllEdgeBookmarks return m_edgeBookmarks; } -void BookmarkController::handleMessage(MessageActivateAll* message) -{ - clear(); -} - -void BookmarkController::handleMessage(MessageActivateErrors* message) -{ - clear(); -} - -void BookmarkController::handleMessage(MessageActivateFullTextSearch* message) -{ - clear(); -} - -void BookmarkController::handleMessage(MessageActivateLegend* message) +void BookmarkController::handleActivation(const MessageActivateBase* message) { clear(); } diff --git a/src/lib/component/controller/BookmarkController.h b/src/lib/component/controller/BookmarkController.h index b377bede..ba18d11f 100644 --- a/src/lib/component/controller/BookmarkController.h +++ b/src/lib/component/controller/BookmarkController.h @@ -1,34 +1,24 @@ #ifndef BOOKMARK_CONTROLLER_H #define BOOKMARK_CONTROLLER_H +#include "ActivationListener.h" #include "Bookmark.h" -#include "NodeBookmark.h" +#include "Controller.h" #include "EdgeBookmark.h" - #include "MessageListener.h" -#include "MessageActivateAll.h" -#include "MessageActivateErrors.h" -#include "MessageActivateFullTextSearch.h" -#include "MessageActivateLegend.h" -#include "MessageActivateTokens.h" #include "MessageBookmarkActivate.h" #include "MessageBookmarkBrowse.h" #include "MessageBookmarkCreate.h" #include "MessageBookmarkDelete.h" #include "MessageBookmarkEdit.h" #include "MessageIndexingFinished.h" - -#include "Controller.h" +#include "NodeBookmark.h" class StorageAccess; class BookmarkController : public Controller - , public MessageListener - , public MessageListener - , public MessageListener - , public MessageListener - , public MessageListener + , public ActivationListener , public MessageListener , public MessageListener , public MessageListener @@ -76,10 +66,8 @@ private: bool m_edgeBookmarksValid; }; - void handleMessage(MessageActivateAll* message) override; - void handleMessage(MessageActivateErrors* message) override; - void handleMessage(MessageActivateFullTextSearch* message) override; - void handleMessage(MessageActivateLegend* message) override; + void handleActivation(const MessageActivateBase* message) override; + void handleMessage(MessageActivateTokens* message) override; void handleMessage(MessageBookmarkActivate* message) override; void handleMessage(MessageBookmarkBrowse* message) override; diff --git a/src/lib/component/controller/CodeController.cpp b/src/lib/component/controller/CodeController.cpp index c1fd4a78..9a7b5ac0 100644 --- a/src/lib/component/controller/CodeController.cpp +++ b/src/lib/component/controller/CodeController.cpp @@ -27,7 +27,72 @@ Id CodeController::getSchedulerId() const return Controller::getTabId(); } -void CodeController::handleMessage(MessageActivateAll* message) +void CodeController::handleMessage(MessageActivateErrors* message) +{ + TRACE("code errors"); + + saveOrRestoreViewMode(message); + + CodeView* view = getView(); + + CodeView::ScrollParams scrollParams(CodeView::ScrollParams::SCROLL_TO_DEFINITION); + view->scrollTo(scrollParams); + + std::vector errors; + if (message->file.empty()) + { + errors = m_storageAccess->getErrorsLimited(message->filter); + } + else + { + errors = m_storageAccess->getErrorsForFileLimited(message->filter, message->file); + } + + m_collection = m_storageAccess->getErrorSourceLocations(errors); + std::vector snippets = getSnippetsForCollection(m_collection); + + std::sort(snippets.begin(), snippets.end(), CodeSnippetParams::sortById); + + CodeView::CodeParams params; + params.clearSnippets = true; + params.errorInfos = errors; + params.showContents = !message->isReplayed(); + params.useSingleFileCache = false; + + showCodeSnippets(snippets, params, false); +} + +void CodeController::handleMessage(MessageActivateFullTextSearch* message) +{ + TRACE("code fulltext"); + + saveOrRestoreViewMode(message); + + m_collection = m_storageAccess->getFullTextSearchLocations(message->searchTerm, message->caseSensitive); + + CodeView::ScrollParams scrollParams(CodeView::ScrollParams::SCROLL_TO_DEFINITION); + getView()->scrollTo(scrollParams); + + CodeView::CodeParams params; + params.clearSnippets = true; + params.showContents = !message->isReplayed(); + params.useSingleFileCache = false; + + showCodeSnippets(getSnippetsForCollection(m_collection), params); +} + +void CodeController::handleMessage(MessageActivateLegend* message) +{ + clear(); +} + +void CodeController::handleMessage(MessageActivateLocalSymbols* message) +{ + CodeView* view = getView(); + view->showActiveLocalSymbolIds(message->symbolIds); +} + +void CodeController::handleMessage(MessageActivateOverview* message) { TRACE("code all"); @@ -99,71 +164,6 @@ void CodeController::handleMessage(MessageActivateAll* message) showCodeSnippets({ statsSnippet }, params); } -void CodeController::handleMessage(MessageActivateErrors* message) -{ - TRACE("code errors"); - - saveOrRestoreViewMode(message); - - CodeView* view = getView(); - - CodeView::ScrollParams scrollParams(CodeView::ScrollParams::SCROLL_TO_DEFINITION); - view->scrollTo(scrollParams); - - std::vector errors; - if (message->file.empty()) - { - errors = m_storageAccess->getErrorsLimited(message->filter); - } - else - { - errors = m_storageAccess->getErrorsForFileLimited(message->filter, message->file); - } - - m_collection = m_storageAccess->getErrorSourceLocations(errors); - std::vector snippets = getSnippetsForCollection(m_collection); - - std::sort(snippets.begin(), snippets.end(), CodeSnippetParams::sortById); - - CodeView::CodeParams params; - params.clearSnippets = true; - params.errorInfos = errors; - params.showContents = !message->isReplayed(); - params.useSingleFileCache = false; - - showCodeSnippets(snippets, params, false); -} - -void CodeController::handleMessage(MessageActivateFullTextSearch* message) -{ - TRACE("code fulltext"); - - saveOrRestoreViewMode(message); - - m_collection = m_storageAccess->getFullTextSearchLocations(message->searchTerm, message->caseSensitive); - - CodeView::ScrollParams scrollParams(CodeView::ScrollParams::SCROLL_TO_DEFINITION); - getView()->scrollTo(scrollParams); - - CodeView::CodeParams params; - params.clearSnippets = true; - params.showContents = !message->isReplayed(); - params.useSingleFileCache = false; - - showCodeSnippets(getSnippetsForCollection(m_collection), params); -} - -void CodeController::handleMessage(MessageActivateLegend* message) -{ - clear(); -} - -void CodeController::handleMessage(MessageActivateLocalSymbols* message) -{ - CodeView* view = getView(); - view->showActiveLocalSymbolIds(message->symbolIds); -} - void CodeController::handleMessage(MessageActivateTokens* message) { TRACE("code activate"); diff --git a/src/lib/component/controller/CodeController.h b/src/lib/component/controller/CodeController.h index db465947..552f5c0f 100644 --- a/src/lib/component/controller/CodeController.h +++ b/src/lib/component/controller/CodeController.h @@ -11,9 +11,9 @@ #include "MessageActivateErrors.h" #include "MessageErrorCountClear.h" #include "MessageShowError.h" -#include "MessageActivateAll.h" #include "MessageActivateFullTextSearch.h" #include "MessageActivateLocalSymbols.h" +#include "MessageActivateOverview.h" #include "MessageActivateTokens.h" #include "MessageActivateTrail.h" #include "MessageActivateTrailEdge.h" @@ -38,11 +38,11 @@ class SourceLocationFile; class CodeController : public Controller - , public MessageListener , public MessageListener , public MessageListener , public MessageListener , public MessageListener + , public MessageListener , public MessageListener , public MessageListener , public MessageListener @@ -65,11 +65,11 @@ public: Id getSchedulerId() const override; private: - void handleMessage(MessageActivateAll* message) override; void handleMessage(MessageActivateErrors* message) override; void handleMessage(MessageActivateFullTextSearch* message) override; void handleMessage(MessageActivateLegend* message) override; void handleMessage(MessageActivateLocalSymbols* message) override; + void handleMessage(MessageActivateOverview* message) override; void handleMessage(MessageActivateTokens* message) override; void handleMessage(MessageActivateTrail* message) override; void handleMessage(MessageActivateTrailEdge* message) override; diff --git a/src/lib/component/controller/ErrorController.cpp b/src/lib/component/controller/ErrorController.cpp index e1d48672..2a34f1b0 100644 --- a/src/lib/component/controller/ErrorController.cpp +++ b/src/lib/component/controller/ErrorController.cpp @@ -38,9 +38,9 @@ void ErrorController::showError(Id errorId) MessageShowError(errorId).dispatch(); } -void ErrorController::handleMessage(MessageActivateAll* message) +void ErrorController::handleActivation(const MessageActivateBase* message) { - m_tabShowsErrors[message->getSchedulerId()] = false; + m_tabShowsErrors[dynamic_cast(message)->getSchedulerId()] = false; } void ErrorController::handleMessage(MessageActivateErrors* message) @@ -59,16 +59,6 @@ void ErrorController::handleMessage(MessageActivateErrors* message) } } -void ErrorController::handleMessage(MessageActivateFullTextSearch* message) -{ - m_tabShowsErrors[message->getSchedulerId()] = false; -} - -void ErrorController::handleMessage(MessageActivateTokens* message) -{ - m_tabShowsErrors[message->getSchedulerId()] = false; -} - void ErrorController::handleMessage(MessageErrorCountClear* message) { clear(); diff --git a/src/lib/component/controller/ErrorController.h b/src/lib/component/controller/ErrorController.h index eb951343..d17fd6a3 100644 --- a/src/lib/component/controller/ErrorController.h +++ b/src/lib/component/controller/ErrorController.h @@ -1,8 +1,8 @@ #ifndef ERROR_CONTROLLER_H #define ERROR_CONTROLLER_H +#include "ActivationListener.h" #include "MessageListener.h" -#include "MessageActivateErrors.h" #include "MessageErrorCountClear.h" #include "MessageErrorCountUpdate.h" #include "MessageErrorsAll.h" @@ -11,9 +11,6 @@ #include "MessageShowError.h" #include "MessageIndexingFinished.h" #include "MessageIndexingStarted.h" -#include "MessageActivateAll.h" -#include "MessageActivateFullTextSearch.h" -#include "MessageActivateTokens.h" #include "Controller.h" #include "ErrorView.h" @@ -22,10 +19,7 @@ class StorageAccess; class ErrorController : public Controller - , public MessageListener - , public MessageListener - , public MessageListener - , public MessageListener + , public ActivationListener , public MessageListener , public MessageListener , public MessageListener @@ -43,22 +37,21 @@ public: void showError(Id errorId); private: - virtual void handleMessage(MessageActivateAll* message); - virtual void handleMessage(MessageActivateErrors* message); - virtual void handleMessage(MessageActivateFullTextSearch* message); - virtual void handleMessage(MessageActivateTokens* message); - virtual void handleMessage(MessageErrorCountClear* message); - virtual void handleMessage(MessageErrorCountUpdate* message); - virtual void handleMessage(MessageErrorsAll* message); - virtual void handleMessage(MessageErrorsForFile* message); - virtual void handleMessage(MessageErrorsHelpMessage* message); - virtual void handleMessage(MessageIndexingFinished* message); - virtual void handleMessage(MessageIndexingStarted* message); - virtual void handleMessage(MessageShowError* message); + void handleActivation(const MessageActivateBase* message) override; + + void handleMessage(MessageActivateErrors* message) override; + void handleMessage(MessageErrorCountClear* message) override; + void handleMessage(MessageErrorCountUpdate* message) override; + void handleMessage(MessageErrorsAll* message) override; + void handleMessage(MessageErrorsForFile* message) override; + void handleMessage(MessageErrorsHelpMessage* message) override; + void handleMessage(MessageIndexingFinished* message) override; + void handleMessage(MessageIndexingStarted* message) override; + void handleMessage(MessageShowError* message) override; ErrorView* getView() const; - virtual void clear(); + void clear() override; bool showErrors(const ErrorFilter& filter, bool scrollTo); diff --git a/src/lib/component/controller/GraphController.cpp b/src/lib/component/controller/GraphController.cpp index 43df113f..a65893f4 100644 --- a/src/lib/component/controller/GraphController.cpp +++ b/src/lib/component/controller/GraphController.cpp @@ -2,26 +2,25 @@ #include +#include "AccessKind.h" +#include "Application.h" +#include "ApplicationSettings.h" +#include "BucketLayouter.h" +#include "Graph.h" +#include "GraphView.h" +#include "GraphViewStyle.h" +#include "ListLayouter.h" #include "logging.h" #include "MessageActivateNodes.h" #include "MessageStatus.h" -#include "tracing.h" -#include "utility.h" -#include "utilityString.h" - -#include "Application.h" -#include "BucketLayouter.h" -#include "ListLayouter.h" -#include "TrailLayouter.h" -#include "GraphView.h" -#include "GraphViewStyle.h" #include "StorageAccess.h" #include "TokenComponentAccess.h" #include "TokenComponentFilePath.h" #include "TokenComponentInheritanceChain.h" -#include "Graph.h" -#include "AccessKind.h" -#include "ApplicationSettings.h" +#include "tracing.h" +#include "TrailLayouter.h" +#include "utility.h" +#include "utilityString.h" GraphController::GraphController(StorageAccess* storageAccess) : m_storageAccess(storageAccess) @@ -34,7 +33,32 @@ Id GraphController::getSchedulerId() const return Controller::getTabId(); } -void GraphController::handleMessage(MessageActivateAll* message) +void GraphController::handleMessage(MessageActivateErrors* message) +{ + clear(); +} + +void GraphController::handleMessage(MessageActivateFullTextSearch* message) +{ + clear(); +} + +void GraphController::handleMessage(MessageActivateLegend* message) +{ + clear(); + + createLegendGraph(); + + layoutNesting(); + + m_showsLegend = true; + + GraphView::GraphParams params; + params.scrollToTop = true; + buildGraph(message, params); +} + +void GraphController::handleMessage(MessageActivateOverview* message) { TRACE("graph all"); @@ -66,31 +90,6 @@ void GraphController::handleMessage(MessageActivateAll* message) buildGraph(message, params); } -void GraphController::handleMessage(MessageActivateErrors* message) -{ - clear(); -} - -void GraphController::handleMessage(MessageActivateFullTextSearch* message) -{ - clear(); -} - -void GraphController::handleMessage(MessageActivateLegend* message) -{ - clear(); - - createLegendGraph(); - - layoutNesting(); - - m_showsLegend = true; - - GraphView::GraphParams params; - params.scrollToTop = true; - buildGraph(message, params); -} - void GraphController::handleMessage(MessageActivateTokens* message) { TRACE("graph activate"); diff --git a/src/lib/component/controller/GraphController.h b/src/lib/component/controller/GraphController.h index 75d6fa10..5d6870d0 100644 --- a/src/lib/component/controller/GraphController.h +++ b/src/lib/component/controller/GraphController.h @@ -5,10 +5,10 @@ #include #include "MessageListener.h" -#include "MessageActivateLegend.h" #include "MessageActivateErrors.h" -#include "MessageActivateAll.h" #include "MessageActivateFullTextSearch.h" +#include "MessageActivateLegend.h" +#include "MessageActivateOverview.h" #include "MessageActivateTokens.h" #include "MessageActivateTrail.h" #include "MessageActivateTrailEdge.h" @@ -33,10 +33,10 @@ class StorageAccess; class GraphController : public Controller - , public MessageListener , public MessageListener , public MessageListener , public MessageListener + , public MessageListener , public MessageListener , public MessageListener , public MessageListener @@ -57,10 +57,10 @@ public: Id getSchedulerId() const override; private: - void handleMessage(MessageActivateAll* message) override; void handleMessage(MessageActivateErrors* message) override; void handleMessage(MessageActivateFullTextSearch* message) override; void handleMessage(MessageActivateLegend* message) override; + void handleMessage(MessageActivateOverview* message) override; void handleMessage(MessageActivateTokens* message) override; void handleMessage(MessageActivateTrail* message) override; void handleMessage(MessageActivateTrailEdge* message) override; diff --git a/src/lib/component/controller/ScreenSearchController.cpp b/src/lib/component/controller/ScreenSearchController.cpp index 1b24c194..cef3f9fa 100644 --- a/src/lib/component/controller/ScreenSearchController.cpp +++ b/src/lib/component/controller/ScreenSearchController.cpp @@ -148,22 +148,7 @@ size_t ScreenSearchController::getResponderId(ScreenSearchResponder* responder) return 0; } -void ScreenSearchController::handleMessage(MessageActivateAll* message) -{ - clearMatches(); -} - -void ScreenSearchController::handleMessage(MessageActivateErrors* message) -{ - clearMatches(); -} - -void ScreenSearchController::handleMessage(MessageActivateFullTextSearch* message) -{ - clearMatches(); -} - -void ScreenSearchController::handleMessage(MessageActivateLegend* message) +void ScreenSearchController::handleActivation(const MessageActivateBase* message) { clearMatches(); } @@ -173,16 +158,6 @@ void ScreenSearchController::handleMessage(MessageActivateLocalSymbols* message) clearMatches(); } -void ScreenSearchController::handleMessage(MessageActivateTokens* message) -{ - clearMatches(); -} - -void ScreenSearchController::handleMessage(MessageActivateTrail* message) -{ - clearMatches(); -} - void ScreenSearchController::handleMessage(MessageActivateTrailEdge* message) { clearMatches(); diff --git a/src/lib/component/controller/ScreenSearchController.h b/src/lib/component/controller/ScreenSearchController.h index 25adce5d..68fa2b26 100644 --- a/src/lib/component/controller/ScreenSearchController.h +++ b/src/lib/component/controller/ScreenSearchController.h @@ -4,14 +4,9 @@ #include #include +#include "ActivationListener.h" #include "Controller.h" -#include "MessageActivateAll.h" -#include "MessageActivateErrors.h" -#include "MessageActivateFullTextSearch.h" -#include "MessageActivateLegend.h" #include "MessageActivateLocalSymbols.h" -#include "MessageActivateTokens.h" -#include "MessageActivateTrail.h" #include "MessageActivateTrailEdge.h" #include "MessageChangeFileView.h" #include "MessageCodeShowDefinition.h" @@ -25,13 +20,8 @@ class ScreenSearchController : public Controller , public ScreenSearchSender - , public MessageListener - , public MessageListener - , public MessageListener - , public MessageListener + , public ActivationListener , public MessageListener - , public MessageListener - , public MessageListener , public MessageListener , public MessageListener , public MessageListener @@ -58,13 +48,9 @@ public: private: size_t getResponderId(ScreenSearchResponder* responder) const; - void handleMessage(MessageActivateAll* message) override; - void handleMessage(MessageActivateErrors* message) override; - void handleMessage(MessageActivateFullTextSearch* message) override; - void handleMessage(MessageActivateLegend* message) override; + void handleActivation(const MessageActivateBase* message) override; + void handleMessage(MessageActivateLocalSymbols* message) override; - void handleMessage(MessageActivateTokens* message) override; - void handleMessage(MessageActivateTrail* message) override; void handleMessage(MessageActivateTrailEdge* message) override; void handleMessage(MessageChangeFileView* message) override; void handleMessage(MessageCodeShowDefinition* message) override; diff --git a/src/lib/component/controller/SearchController.cpp b/src/lib/component/controller/SearchController.cpp index 0d732e2e..01ed57f3 100644 --- a/src/lib/component/controller/SearchController.cpp +++ b/src/lib/component/controller/SearchController.cpp @@ -16,37 +16,23 @@ Id SearchController::getSchedulerId() const return Controller::getTabId(); } -void SearchController::handleMessage(MessageActivateAll* message) +void SearchController::handleActivation(const MessageActivateBase* message) { - updateMatches(message); -} - -void SearchController::handleMessage(MessageActivateErrors* message) -{ - updateMatches(message); -} - -void SearchController::handleMessage(MessageActivateFullTextSearch* message) -{ - updateMatches(message); -} - -void SearchController::handleMessage(MessageActivateLegend* message) -{ - updateMatches(message); -} - -void SearchController::handleMessage(MessageActivateTokens* message) -{ - if (!message->isEdge) + if (const MessageActivateTokens* m = dynamic_cast(message)) { - updateMatches(message, !message->keepContent()); + if (!m->isEdge) + { + updateMatches(message, !m->keepContent()); + } } -} - -void SearchController::handleMessage(MessageActivateTrail* message) -{ - if (message->custom) + else if (const MessageActivateTrail* m = dynamic_cast(message)) + { + if (m->custom) + { + updateMatches(message); + } + } + else { updateMatches(message); } @@ -90,7 +76,7 @@ void SearchController::clear() updateMatches(nullptr); } -void SearchController::updateMatches(MessageActivateBase* message, bool updateView) +void SearchController::updateMatches(const MessageActivateBase* message, bool updateView) { std::vector matches; diff --git a/src/lib/component/controller/SearchController.h b/src/lib/component/controller/SearchController.h index 34bb3955..12f54fe1 100644 --- a/src/lib/component/controller/SearchController.h +++ b/src/lib/component/controller/SearchController.h @@ -1,14 +1,9 @@ #ifndef SEARCH_CONTROLLER_H #define SEARCH_CONTROLLER_H +#include "ActivationListener.h" #include "Controller.h" #include "MessageListener.h" -#include "MessageActivateLegend.h" -#include "MessageActivateErrors.h" -#include "MessageActivateAll.h" -#include "MessageActivateFullTextSearch.h" -#include "MessageActivateTokens.h" -#include "MessageActivateTrail.h" #include "MessageFind.h" #include "MessageSearchAutocomplete.h" @@ -17,12 +12,7 @@ class SearchView; class SearchController : public Controller - , public MessageListener - , public MessageListener - , public MessageListener - , public MessageListener - , public MessageListener - , public MessageListener + , public ActivationListener , public MessageListener , public MessageListener { @@ -33,12 +23,8 @@ public: Id getSchedulerId() const override; private: - void handleMessage(MessageActivateAll* message) override; - void handleMessage(MessageActivateErrors* message) override; - void handleMessage(MessageActivateFullTextSearch* message) override; - void handleMessage(MessageActivateLegend* message) override; - void handleMessage(MessageActivateTokens* message) override; - void handleMessage(MessageActivateTrail* message) override; + void handleActivation(const MessageActivateBase* message) override; + void handleMessage(MessageFind* message) override; void handleMessage(MessageSearchAutocomplete* message) override; @@ -46,7 +32,7 @@ private: void clear() override; - void updateMatches(MessageActivateBase* message, bool updateView = true); + void updateMatches(const MessageActivateBase* message, bool updateView = true); StorageAccess* m_storageAccess; }; diff --git a/src/lib/component/controller/UndoRedoController.cpp b/src/lib/component/controller/UndoRedoController.cpp index f7cb61f8..a5c15d5f 100644 --- a/src/lib/component/controller/UndoRedoController.cpp +++ b/src/lib/component/controller/UndoRedoController.cpp @@ -47,18 +47,6 @@ UndoRedoController::Command::Command(std::shared_ptr message, Order { } -void UndoRedoController::handleMessage(MessageActivateAll* message) -{ - if (sameMessageTypeAsLast(message) && - static_cast(lastMessage())->acceptedNodeTypes == message->acceptedNodeTypes) - { - return; - } - - Command command(std::make_shared(*message), Command::ORDER_ACTIVATE); - processCommand(command); -} - void UndoRedoController::handleMessage(MessageActivateErrors* message) { if (sameMessageTypeAsLast(message) && @@ -108,6 +96,18 @@ void UndoRedoController::handleMessage(MessageActivateLocalSymbols* message) processCommand(command); } +void UndoRedoController::handleMessage(MessageActivateOverview* message) +{ + if (sameMessageTypeAsLast(message) && + static_cast(lastMessage())->acceptedNodeTypes == message->acceptedNodeTypes) + { + return; + } + + Command command(std::make_shared(*message), Command::ORDER_ACTIVATE); + processCommand(command); +} + void UndoRedoController::handleMessage(MessageActivateTokens* message) { if (sameMessageTypeAsLast(message) && @@ -375,7 +375,7 @@ void UndoRedoController::handleMessage(MessageRefreshUI* message) (message->isAfterIndexing && dynamic_cast(startIterator->message.get()) && m_storageAccess->getErrorCount().total == 0)) { - MessageActivateAll msg; + MessageActivateOverview msg; msg.setSchedulerId(getSchedulerId()); msg.dispatch(); } diff --git a/src/lib/component/controller/UndoRedoController.h b/src/lib/component/controller/UndoRedoController.h index 172e8f32..dd2d88ae 100644 --- a/src/lib/component/controller/UndoRedoController.h +++ b/src/lib/component/controller/UndoRedoController.h @@ -5,11 +5,11 @@ #include "MessageBase.h" #include "MessageListener.h" -#include "MessageActivateAll.h" #include "MessageActivateErrors.h" #include "MessageActivateFullTextSearch.h" #include "MessageActivateLegend.h" #include "MessageActivateLocalSymbols.h" +#include "MessageActivateOverview.h" #include "MessageActivateTokens.h" #include "MessageActivateTrail.h" #include "MessageActivateTrailEdge.h" @@ -38,11 +38,11 @@ class UndoRedoView; class UndoRedoController : public Controller - , public MessageListener , public MessageListener , public MessageListener , public MessageListener , public MessageListener + , public MessageListener , public MessageListener , public MessageListener , public MessageListener @@ -91,11 +91,11 @@ private: bool replayLastOnly; }; - void handleMessage(MessageActivateAll* message) override; void handleMessage(MessageActivateErrors* message) override; void handleMessage(MessageActivateFullTextSearch* message) override; void handleMessage(MessageActivateLegend* message) override; void handleMessage(MessageActivateLocalSymbols* message) override; + void handleMessage(MessageActivateOverview* message) override; void handleMessage(MessageActivateTokens* message) override; void handleMessage(MessageActivateTrail* message) override; void handleMessage(MessageActivateTrailEdge* message) override; diff --git a/src/lib/component/controller/helper/ActivationListener.cpp b/src/lib/component/controller/helper/ActivationListener.cpp new file mode 100644 index 00000000..2d23595a --- /dev/null +++ b/src/lib/component/controller/helper/ActivationListener.cpp @@ -0,0 +1,51 @@ +#include "ActivationListener.h" + +const std::vector& ActivationListener::getSearchMatches() const +{ + return m_searchMatches; +} + +void ActivationListener::handleMessage(MessageActivateErrors* message) +{ + handleMessageBase(message); +} + +void ActivationListener::handleMessage(MessageActivateFullTextSearch* message) +{ + handleMessageBase(message); +} + +void ActivationListener::handleMessage(MessageActivateLegend* message) +{ + handleMessageBase(message); +} + +void ActivationListener::handleMessage(MessageActivateOverview* message) +{ + handleMessageBase(message); +} + +void ActivationListener::handleMessage(MessageActivateTokens* message) +{ + handleMessageBase(message); +} + +void ActivationListener::handleMessage(MessageActivateTrail* message) +{ + handleMessageBase(message); +} + +void ActivationListener::handleMessageBase(const MessageActivateBase* message) +{ + m_searchMatches = message->getSearchMatches(); + handleActivation(message); + handleActivation(m_searchMatches); +} + +void ActivationListener::handleActivation(const MessageActivateBase* message) +{ +} + +void ActivationListener::handleActivation(const std::vector& searchMatches) +{ +} diff --git a/src/lib/component/controller/helper/ActivationListener.h b/src/lib/component/controller/helper/ActivationListener.h new file mode 100644 index 00000000..407bbb22 --- /dev/null +++ b/src/lib/component/controller/helper/ActivationListener.h @@ -0,0 +1,39 @@ +#ifndef ACTIVATION_LISTENER_H +#define ACTIVATION_LISTENER_H + +#include "MessageListener.h" +#include "MessageActivateErrors.h" +#include "MessageActivateFullTextSearch.h" +#include "MessageActivateLegend.h" +#include "MessageActivateOverview.h" +#include "MessageActivateTokens.h" +#include "MessageActivateTrail.h" + +class ActivationListener + : public MessageListener + , public MessageListener + , public MessageListener + , public MessageListener + , public MessageListener + , public MessageListener +{ +protected: + const std::vector& getSearchMatches() const; + +private: + void handleMessage(MessageActivateErrors* message) override; + void handleMessage(MessageActivateFullTextSearch* message) override; + void handleMessage(MessageActivateOverview* message) override; + void handleMessage(MessageActivateLegend* message) override; + void handleMessage(MessageActivateTokens* message) override; + void handleMessage(MessageActivateTrail* message) override; + + void handleMessageBase(const MessageActivateBase* message); + + virtual void handleActivation(const MessageActivateBase* message); + virtual void handleActivation(const std::vector& searchMatches); + + std::vector m_searchMatches; +}; + +#endif // ACTIVATION_LISTENER_H diff --git a/src/lib/utility/messaging/type/MessageClearLogView.h b/src/lib/utility/messaging/type/MessageClearLogView.h deleted file mode 100644 index d5aa4398..00000000 --- a/src/lib/utility/messaging/type/MessageClearLogView.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef MESSAGE_CLEAR_LOG_VIEW_H -#define MESSAGE_CLEAR_LOG_VIEW_H - -#include "Message.h" - -class MessageClearLogView: - public Message -{ -public: - MessageClearLogView() - { - } - - static const std::string getStaticType() - { - return "MessageClearLogView"; - } -}; - -#endif // MESSAGE_CLEAR_LOG_VIEW_H diff --git a/src/lib/utility/messaging/type/MessageActivateBase.h b/src/lib/utility/messaging/type/activation/MessageActivateBase.h similarity index 100% rename from src/lib/utility/messaging/type/MessageActivateBase.h rename to src/lib/utility/messaging/type/activation/MessageActivateBase.h diff --git a/src/lib/utility/messaging/type/error/MessageActivateErrors.h b/src/lib/utility/messaging/type/activation/MessageActivateErrors.h similarity index 100% rename from src/lib/utility/messaging/type/error/MessageActivateErrors.h rename to src/lib/utility/messaging/type/activation/MessageActivateErrors.h diff --git a/src/lib/utility/messaging/type/MessageActivateAll.h b/src/lib/utility/messaging/type/activation/MessageActivateOverview.h similarity index 78% rename from src/lib/utility/messaging/type/MessageActivateAll.h rename to src/lib/utility/messaging/type/activation/MessageActivateOverview.h index 65cc812d..b96e6647 100644 --- a/src/lib/utility/messaging/type/MessageActivateAll.h +++ b/src/lib/utility/messaging/type/activation/MessageActivateOverview.h @@ -7,17 +7,17 @@ #include "NodeTypeSet.h" #include "TabId.h" -class MessageActivateAll - : public Message +class MessageActivateOverview + : public Message , public MessageActivateBase { public: static const std::string getStaticType() { - return "MessageActivateAll"; + return "MessageActivateOverview"; } - MessageActivateAll(NodeTypeSet acceptedNodeTypes = NodeTypeSet::all()) + MessageActivateOverview(NodeTypeSet acceptedNodeTypes = NodeTypeSet::all()) : acceptedNodeTypes(acceptedNodeTypes) { setIsParallel(true); diff --git a/src/lib/utility/messaging/type/MessageActivateTokens.h b/src/lib/utility/messaging/type/activation/MessageActivateTokens.h similarity index 100% rename from src/lib/utility/messaging/type/MessageActivateTokens.h rename to src/lib/utility/messaging/type/activation/MessageActivateTokens.h diff --git a/src/lib/utility/messaging/type/MessageActivateTrail.h b/src/lib/utility/messaging/type/activation/MessageActivateTrail.h similarity index 100% rename from src/lib/utility/messaging/type/MessageActivateTrail.h rename to src/lib/utility/messaging/type/activation/MessageActivateTrail.h diff --git a/src/lib/utility/messaging/type/MessageActivateFile.h b/src/lib/utility/messaging/type/code/MessageActivateFile.h similarity index 100% rename from src/lib/utility/messaging/type/MessageActivateFile.h rename to src/lib/utility/messaging/type/code/MessageActivateFile.h diff --git a/src/lib/utility/messaging/type/MessageActivateLocalSymbols.h b/src/lib/utility/messaging/type/code/MessageActivateLocalSymbols.h similarity index 100% rename from src/lib/utility/messaging/type/MessageActivateLocalSymbols.h rename to src/lib/utility/messaging/type/code/MessageActivateLocalSymbols.h diff --git a/src/lib/utility/messaging/type/MessageActivateSourceLocations.h b/src/lib/utility/messaging/type/code/MessageActivateSourceLocations.h similarity index 100% rename from src/lib/utility/messaging/type/MessageActivateSourceLocations.h rename to src/lib/utility/messaging/type/code/MessageActivateSourceLocations.h diff --git a/src/lib/utility/messaging/type/MessageActivateTokenIds.h b/src/lib/utility/messaging/type/code/MessageActivateTokenIds.h similarity index 100% rename from src/lib/utility/messaging/type/MessageActivateTokenIds.h rename to src/lib/utility/messaging/type/code/MessageActivateTokenIds.h diff --git a/src/lib/utility/messaging/type/MessageChangeFileView.h b/src/lib/utility/messaging/type/code/MessageChangeFileView.h similarity index 100% rename from src/lib/utility/messaging/type/MessageChangeFileView.h rename to src/lib/utility/messaging/type/code/MessageChangeFileView.h diff --git a/src/lib/utility/messaging/type/MessageCodeReference.h b/src/lib/utility/messaging/type/code/MessageCodeReference.h similarity index 100% rename from src/lib/utility/messaging/type/MessageCodeReference.h rename to src/lib/utility/messaging/type/code/MessageCodeReference.h diff --git a/src/lib/utility/messaging/type/MessageScrollCode.h b/src/lib/utility/messaging/type/code/MessageScrollCode.h similarity index 100% rename from src/lib/utility/messaging/type/MessageScrollCode.h rename to src/lib/utility/messaging/type/code/MessageScrollCode.h diff --git a/src/lib/utility/messaging/type/MessageScrollToLine.h b/src/lib/utility/messaging/type/code/MessageScrollToLine.h similarity index 100% rename from src/lib/utility/messaging/type/MessageScrollToLine.h rename to src/lib/utility/messaging/type/code/MessageScrollToLine.h diff --git a/src/lib/utility/messaging/type/MessageShowReference.h b/src/lib/utility/messaging/type/code/MessageShowReference.h similarity index 100% rename from src/lib/utility/messaging/type/MessageShowReference.h rename to src/lib/utility/messaging/type/code/MessageShowReference.h diff --git a/src/lib/utility/messaging/type/MessageShowScope.h b/src/lib/utility/messaging/type/code/MessageShowScope.h similarity index 100% rename from src/lib/utility/messaging/type/MessageShowScope.h rename to src/lib/utility/messaging/type/code/MessageShowScope.h diff --git a/src/lib/utility/messaging/type/MessageActivateEdge.h b/src/lib/utility/messaging/type/graph/MessageActivateEdge.h similarity index 100% rename from src/lib/utility/messaging/type/MessageActivateEdge.h rename to src/lib/utility/messaging/type/graph/MessageActivateEdge.h diff --git a/src/lib/utility/messaging/type/MessageActivateNodes.h b/src/lib/utility/messaging/type/graph/MessageActivateNodes.h similarity index 100% rename from src/lib/utility/messaging/type/MessageActivateNodes.h rename to src/lib/utility/messaging/type/graph/MessageActivateNodes.h diff --git a/src/lib/utility/messaging/type/MessageActivateTrailEdge.h b/src/lib/utility/messaging/type/graph/MessageActivateTrailEdge.h similarity index 100% rename from src/lib/utility/messaging/type/MessageActivateTrailEdge.h rename to src/lib/utility/messaging/type/graph/MessageActivateTrailEdge.h diff --git a/src/lib/utility/messaging/type/MessageDeactivateEdge.h b/src/lib/utility/messaging/type/graph/MessageDeactivateEdge.h similarity index 100% rename from src/lib/utility/messaging/type/MessageDeactivateEdge.h rename to src/lib/utility/messaging/type/graph/MessageDeactivateEdge.h diff --git a/src/lib/utility/messaging/type/MessageGraphNodeBundleSplit.h b/src/lib/utility/messaging/type/graph/MessageGraphNodeBundleSplit.h similarity index 100% rename from src/lib/utility/messaging/type/MessageGraphNodeBundleSplit.h rename to src/lib/utility/messaging/type/graph/MessageGraphNodeBundleSplit.h diff --git a/src/lib/utility/messaging/type/MessageGraphNodeExpand.h b/src/lib/utility/messaging/type/graph/MessageGraphNodeExpand.h similarity index 100% rename from src/lib/utility/messaging/type/MessageGraphNodeExpand.h rename to src/lib/utility/messaging/type/graph/MessageGraphNodeExpand.h diff --git a/src/lib/utility/messaging/type/MessageGraphNodeHide.h b/src/lib/utility/messaging/type/graph/MessageGraphNodeHide.h similarity index 100% rename from src/lib/utility/messaging/type/MessageGraphNodeHide.h rename to src/lib/utility/messaging/type/graph/MessageGraphNodeHide.h diff --git a/src/lib/utility/messaging/type/MessageGraphNodeMove.h b/src/lib/utility/messaging/type/graph/MessageGraphNodeMove.h similarity index 100% rename from src/lib/utility/messaging/type/MessageGraphNodeMove.h rename to src/lib/utility/messaging/type/graph/MessageGraphNodeMove.h diff --git a/src/lib/utility/messaging/type/MessageScrollGraph.h b/src/lib/utility/messaging/type/graph/MessageScrollGraph.h similarity index 100% rename from src/lib/utility/messaging/type/MessageScrollGraph.h rename to src/lib/utility/messaging/type/graph/MessageScrollGraph.h diff --git a/src/lib/utility/messaging/type/MessageIDECreateCDB.h b/src/lib/utility/messaging/type/plugin/MessageIDECreateCDB.h similarity index 100% rename from src/lib/utility/messaging/type/MessageIDECreateCDB.h rename to src/lib/utility/messaging/type/plugin/MessageIDECreateCDB.h diff --git a/src/lib/utility/messaging/type/MessageMoveIDECursor.h b/src/lib/utility/messaging/type/plugin/MessageMoveIDECursor.h similarity index 100% rename from src/lib/utility/messaging/type/MessageMoveIDECursor.h rename to src/lib/utility/messaging/type/plugin/MessageMoveIDECursor.h diff --git a/src/lib/utility/messaging/type/MessagePingReceived.h b/src/lib/utility/messaging/type/plugin/MessagePingReceived.h similarity index 100% rename from src/lib/utility/messaging/type/MessagePingReceived.h rename to src/lib/utility/messaging/type/plugin/MessagePingReceived.h diff --git a/src/lib/utility/messaging/type/MessagePluginPortChange.h b/src/lib/utility/messaging/type/plugin/MessagePluginPortChange.h similarity index 100% rename from src/lib/utility/messaging/type/MessagePluginPortChange.h rename to src/lib/utility/messaging/type/plugin/MessagePluginPortChange.h diff --git a/src/lib/utility/messaging/type/MessageFind.h b/src/lib/utility/messaging/type/search/MessageFind.h similarity index 100% rename from src/lib/utility/messaging/type/MessageFind.h rename to src/lib/utility/messaging/type/search/MessageFind.h diff --git a/src/lib_gui/qt/element/search/QtSearchBar.cpp b/src/lib_gui/qt/element/search/QtSearchBar.cpp index 70183780..94697041 100644 --- a/src/lib_gui/qt/element/search/QtSearchBar.cpp +++ b/src/lib_gui/qt/element/search/QtSearchBar.cpp @@ -2,8 +2,8 @@ #include -#include "MessageActivateAll.h" #include "MessageActivateFullTextSearch.h" +#include "MessageActivateOverview.h" #include "MessageSearch.h" #include "MessageSearchAutocomplete.h" #include "QtSearchBarButton.h" @@ -100,7 +100,7 @@ void QtSearchBar::refreshStyle() void QtSearchBar::homeButtonClicked() { - MessageActivateAll().dispatch(); + MessageActivateOverview().dispatch(); } void QtSearchBar::requestAutocomplete(const std::wstring& query, NodeTypeSet acceptedNodeTypes) diff --git a/src/lib_gui/qt/window/QtMainWindow.cpp b/src/lib_gui/qt/window/QtMainWindow.cpp index 31af17fe..4c954596 100644 --- a/src/lib_gui/qt/window/QtMainWindow.cpp +++ b/src/lib_gui/qt/window/QtMainWindow.cpp @@ -34,8 +34,8 @@ #include "MessageErrorsHelpMessage.h" #include "MessageHistoryRedo.h" #include "MessageHistoryUndo.h" -#include "MessageActivateAll.h" #include "MessageActivateBase.h" +#include "MessageActivateOverview.h" #include "MessageBookmarkActivate.h" #include "MessageBookmarkBrowse.h" #include "MessageBookmarkCreate.h" @@ -773,7 +773,7 @@ void QtMainWindow::customTrail() void QtMainWindow::overview() { - MessageActivateAll().dispatch(); + MessageActivateOverview().dispatch(); } void QtMainWindow::closeWindow()