DiagramDesigner/source/connectionState.cpp

64 lines
1.2 KiB
C++

#include "connectionState.h"
#include <QtCore/QDebug>
#include <QtCore/QPointF>
#include "basicGraphicsScene.h"
#include "connectionGraphicsObject.h"
#include "nodeGraphicsObject.h"
ConnectionState::~ConnectionState()
{
//resetLastHoveredNode();
}
PortType ConnectionState::requiredPort() const
{
PortType t = PortType::None;
if (_cgo.connectionId().outNodeId == InvalidNodeId) {
t = PortType::Out;
} else if (_cgo.connectionId().inNodeId == InvalidNodeId) {
t = PortType::In;
}
return t;
}
bool ConnectionState::requiresPort() const
{
const ConnectionId &id = _cgo.connectionId();
return id.outNodeId == InvalidNodeId || id.inNodeId == InvalidNodeId;
}
bool ConnectionState::hovered() const
{
return _hovered;
}
void ConnectionState::setHovered(bool hovered)
{
_hovered = hovered;
}
void ConnectionState::setLastHoveredNode(NodeId const nodeId)
{
_lastHoveredNode = nodeId;
}
NodeId ConnectionState::lastHoveredNode() const
{
return _lastHoveredNode;
}
void ConnectionState::resetLastHoveredNode()
{
if (_lastHoveredNode != InvalidNodeId) {
auto ngo = _cgo.nodeScene()->nodeGraphicsObject(_lastHoveredNode);
ngo->update();
}
_lastHoveredNode = InvalidNodeId;
}