logic: Refactored undo redo stack

* Store MessageActivateTokens instead of original view messages
* Renamed FeatureController to ActivationController
* Remove all non-activation messages from undo redo stack after reindexing project
* Added MessageShowReference to undo redo stack
* Added MessageScrollGraph for restoring graph view scroll position
* Fixed MessageGraphNodeMove not saved for bundles
* Refactored tokenIds and nodeNames in SearchMatch and MessageActivateTokens
* Refactored SearchController
* Fixed file expansion on undoing/redoing after switching code view mode
* Fixed redundant graph animation due to present qualifier nodes
* Fixed no restoring of graph node expansion when showing overview in between
This commit is contained in:
Eberhard Graether
2017-03-16 23:24:33 +01:00
parent aa49fffca6
commit 630009a2ba
44 changed files with 516 additions and 400 deletions
@@ -32,6 +32,8 @@ void GraphController::handleMessage(MessageActivateAll* message)
m_activeNodeIds.clear();
m_activeEdgeIds.clear();
m_dummyGraphNodes.clear();
createDummyGraphForTokenIdsAndSetActiveAndVisibility(std::vector<Id>(), m_storageAccess->getGraphForAll());
bundleNodesByType();
@@ -104,6 +106,14 @@ void GraphController::handleMessage(MessageFlushUpdates* message)
buildGraph(message, true, !message->keepContent());
}
void GraphController::handleMessage(MessageScrollGraph* message)
{
if (message->isReplayed())
{
getView()->scrollToValues(message->xValue, message->yValue);
}
}
void GraphController::handleMessage(MessageSearchFullText* message)
{
clear();
@@ -247,7 +257,7 @@ void GraphController::handleMessage(MessageShowErrors* message)
void GraphController::handleMessage(MessageShowReference* message)
{
if (!message->tokenId)
if (!message->tokenId || !message->animated)
{
return;
}