64 lines
1.2 KiB
C++
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;
|
||
|
|
}
|