src: Minor refactorings in graph focus handling
This commit is contained in:
@@ -14,34 +14,22 @@ void GraphFocusHandler::clear()
|
||||
m_lastFocusId = 0;
|
||||
}
|
||||
|
||||
void GraphFocusHandler::focus()
|
||||
void GraphFocusHandler::focus(bool focusIn)
|
||||
{
|
||||
if (m_focusNode)
|
||||
{
|
||||
m_focusNode->setIsFocused(true);
|
||||
m_focusNode->setIsFocused(focusIn);
|
||||
}
|
||||
else if (m_focusEdge)
|
||||
{
|
||||
m_focusEdge->setIsFocused(true);
|
||||
m_focusEdge->setIsFocused(focusIn);
|
||||
}
|
||||
else
|
||||
else if (focusIn)
|
||||
{
|
||||
focusInitialNode();
|
||||
}
|
||||
}
|
||||
|
||||
void GraphFocusHandler::defocus()
|
||||
{
|
||||
if (m_focusNode)
|
||||
{
|
||||
m_focusNode->setIsFocused(false);
|
||||
}
|
||||
else if (m_focusEdge)
|
||||
{
|
||||
m_focusEdge->setIsFocused(false);
|
||||
}
|
||||
}
|
||||
|
||||
void GraphFocusHandler::focusInitialNode()
|
||||
{
|
||||
if (m_focusNode != nullptr || m_focusEdge != nullptr)
|
||||
@@ -103,22 +91,19 @@ void GraphFocusHandler::focusTokenId(
|
||||
void GraphFocusHandler::refocusNode(
|
||||
const std::list<QtGraphNode*>& newNodes, Id oldActiveTokenId, Id newActiveTokenId)
|
||||
{
|
||||
m_focusNode = nullptr;
|
||||
m_focusEdge = nullptr;
|
||||
const Id lastFocusId = m_lastFocusId;
|
||||
clear();
|
||||
|
||||
if (m_lastFocusId && (m_lastFocusId == newActiveTokenId || oldActiveTokenId == newActiveTokenId))
|
||||
if (lastFocusId && (lastFocusId == newActiveTokenId || oldActiveTokenId == newActiveTokenId))
|
||||
{
|
||||
QtGraphNode* nodeToFocus = QtGraphNode::findNodeRecursive(newNodes, m_lastFocusId);
|
||||
QtGraphNode* nodeToFocus = QtGraphNode::findNodeRecursive(newNodes, lastFocusId);
|
||||
if (nodeToFocus)
|
||||
{
|
||||
m_focusNode = nodeToFocus;
|
||||
m_lastFocusId = lastFocusId;
|
||||
nodeToFocus->setIsFocused(true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_lastFocusId = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void GraphFocusHandler::focusNext(Direction direction, bool navigateEdges)
|
||||
|
||||
@@ -38,8 +38,7 @@ public:
|
||||
|
||||
void clear();
|
||||
|
||||
void focus();
|
||||
void defocus();
|
||||
void focus(bool focusIn);
|
||||
|
||||
void focusInitialNode();
|
||||
void focusTokenId(
|
||||
|
||||
@@ -582,26 +582,18 @@ void QtGraphView::activateEdge(Id edgeId)
|
||||
});
|
||||
}
|
||||
|
||||
void QtGraphView::setNavigationFocus(bool focus)
|
||||
void QtGraphView::setNavigationFocus(bool focusIn)
|
||||
{
|
||||
if (m_hasFocus == focus)
|
||||
if (m_hasFocus == focusIn)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
m_hasFocus = focus;
|
||||
m_hasFocus = focusIn;
|
||||
|
||||
m_onQtThread([this, focus]() {
|
||||
focusView(focus);
|
||||
|
||||
if (focus)
|
||||
{
|
||||
m_focusHandler.focus();
|
||||
}
|
||||
else
|
||||
{
|
||||
m_focusHandler.defocus();
|
||||
}
|
||||
m_onQtThread([this, focusIn]() {
|
||||
focusView(focusIn);
|
||||
m_focusHandler.focus(focusIn);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ public:
|
||||
|
||||
void activateEdge(Id edgeId) override;
|
||||
|
||||
void setNavigationFocus(bool focus) override;
|
||||
void setNavigationFocus(bool focusIn) override;
|
||||
bool hasNavigationFocus() const override;
|
||||
|
||||
// GraphFocusClient implementation
|
||||
|
||||
Reference in New Issue
Block a user