FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

GitHub Viewer

#include "AbstractGraphModel.hpp" #include namespace QtNodes { void AbstractGraphModel::setPortLayout(PortLayout layout) { if (_portLayout != layout) { _portLayout = layout; Q_EMIT portLayoutUpdated(layout); } } PortLayout AbstractGraphModel::portLayout() const { return _portLayout; } void AbstractGraphModel::portsAboutToBeDeleted(NodeId const nodeId, PortType const portType, PortIndex const first, PortIndex const last) { _shiftedByDynamicPortsConnections.clear(); auto portCountRole = portType == PortType::In ? NodeRole::InPortCount : NodeRole::OutPortCount; unsigned int portCount = nodeData(nodeId, portCountRole).toUInt(); if (first > portCount - 1) return; if (last < first) return; auto clampedLast = std::min(last, portCount - 1); for (PortIndex portIndex = first; portIndex portCount) return; if (last < first) return; std::size_t const nNewPorts = last - first + 1; for (PortIndex portIndex = first; portIndex < portCount; ++portIndex) { std::unordered_set conns = connections(nodeId, portType, portIndex); for (auto connectionId : conns) { // Erases the information about the port on one side; auto c = makeIncompleteConnectionId(connectionId, portType); c = makeCompleteConnectionId(c, nodeId, portIndex + nNewPorts); _shiftedByDynamicPortsConnections.push_back(c); deleteConnection(connectionId); } } } void AbstractGraphModel::portsInserted() { for (auto const connectionId : _shiftedByDynamicPortsConnections) { addConnection(connectionId); } _shiftedByDynamicPortsConnections.clear(); } } // namespace QtNodes

Back | FazBrowse Home | New Git URL