ui: Pan graph view to name of active symbol after activation
bug id = 80
This commit is contained in:
@@ -36,7 +36,7 @@ void GraphController::handleMessage(MessageActivateAll* message)
|
||||
layoutNesting();
|
||||
layoutGraph();
|
||||
|
||||
buildGraph(message);
|
||||
buildGraph(message, false);
|
||||
}
|
||||
|
||||
void GraphController::handleMessage(MessageActivateTokens* message)
|
||||
@@ -47,7 +47,7 @@ void GraphController::handleMessage(MessageActivateTokens* message)
|
||||
{
|
||||
m_activeEdgeIds = message->tokenIds;
|
||||
setActiveAndVisibility(utility::concat(m_activeNodeIds, m_activeEdgeIds));
|
||||
buildGraph(message);
|
||||
buildGraph(message, false);
|
||||
return;
|
||||
}
|
||||
else if (message->isAggregation)
|
||||
@@ -81,12 +81,12 @@ void GraphController::handleMessage(MessageActivateTokens* message)
|
||||
layoutNesting();
|
||||
layoutGraph(true);
|
||||
|
||||
buildGraph(message);
|
||||
buildGraph(message, true);
|
||||
}
|
||||
|
||||
void GraphController::handleMessage(MessageFlushUpdates* message)
|
||||
{
|
||||
buildGraph(message);
|
||||
buildGraph(message, true);
|
||||
}
|
||||
|
||||
void GraphController::handleMessage(MessageSearchFullText* message)
|
||||
@@ -133,7 +133,7 @@ void GraphController::handleMessage(MessageGraphNodeBundleSplit* message)
|
||||
layoutNesting();
|
||||
layoutGraph(tokenIds.size() > 0);
|
||||
|
||||
buildGraph(message);
|
||||
buildGraph(message, false);
|
||||
}
|
||||
|
||||
void GraphController::handleMessage(MessageGraphNodeExpand* message)
|
||||
@@ -148,7 +148,7 @@ void GraphController::handleMessage(MessageGraphNodeExpand* message)
|
||||
layoutNesting();
|
||||
layoutGraph();
|
||||
|
||||
buildGraph(message);
|
||||
buildGraph(message, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@ void GraphController::handleMessage(MessageGraphNodeMove* message)
|
||||
|
||||
if (message->isReplayed())
|
||||
{
|
||||
buildGraph(message);
|
||||
buildGraph(message, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1148,11 +1148,15 @@ DummyNode* GraphController::getDummyGraphNodeById(Id tokenId) const
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void GraphController::buildGraph(MessageBase* message, bool animated)
|
||||
void GraphController::buildGraph(MessageBase* message, bool centerActiveNode, bool animatedTransition)
|
||||
{
|
||||
if (!message->isReplayed())
|
||||
{
|
||||
getView()->rebuildGraph(m_graph, m_dummyNodes, m_dummyEdges, animated);
|
||||
GraphView::GraphParams params;
|
||||
params.centerActiveNode = centerActiveNode;
|
||||
params.animatedTransition = animatedTransition;
|
||||
|
||||
getView()->rebuildGraph(m_graph, m_dummyNodes, m_dummyEdges, params);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ private:
|
||||
|
||||
DummyNode* getDummyGraphNodeById(Id tokenId) const;
|
||||
|
||||
void buildGraph(MessageBase* message, bool animated = true);
|
||||
void buildGraph(MessageBase* message, bool centerActiveNode, bool animatedTransition = true);
|
||||
|
||||
void forEachDummyNodeRecursive(std::function<void(DummyNode*)> func);
|
||||
void forEachDummyEdge(std::function<void(DummyEdge*)> func);
|
||||
|
||||
@@ -9,9 +9,16 @@ struct DummyEdge;
|
||||
struct DummyNode;
|
||||
class Graph;
|
||||
|
||||
class GraphView : public View
|
||||
class GraphView
|
||||
: public View
|
||||
{
|
||||
public:
|
||||
struct GraphParams
|
||||
{
|
||||
bool animatedTransition;
|
||||
bool centerActiveNode;
|
||||
};
|
||||
|
||||
GraphView(ViewLayout* viewLayout);
|
||||
virtual ~GraphView();
|
||||
|
||||
@@ -21,7 +28,7 @@ public:
|
||||
std::shared_ptr<Graph> graph,
|
||||
const std::vector<std::shared_ptr<DummyNode>>& nodes,
|
||||
const std::vector<std::shared_ptr<DummyEdge>>& edges,
|
||||
bool animated) = 0;
|
||||
const GraphParams params) = 0;
|
||||
virtual void clear() = 0;
|
||||
|
||||
virtual void focusTokenIds(const std::vector<Id>& focusedTokenIds) = 0;
|
||||
|
||||
Reference in New Issue
Block a user