Skip to content

Commit

Permalink
Merge pull request LeGoffLoic#27 from glm-smaraux/develop
Browse files Browse the repository at this point in the history
Fixed deletion of linked nodes / connections,
  • Loading branch information
glm-smaraux committed Jan 3, 2019
2 parents ef7d749 + 7aafa75 commit 7aa6945
Showing 1 changed file with 16 additions and 13 deletions.
29 changes: 16 additions & 13 deletions nodz_main.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ def __init__(self, parent, configPath=defaultConfigPath):
self.dragMoveAccept = False
self.dropAccept = False

self.cutTool = None

def setEnableDrop(self, enabled):
self.setAcceptDrops(enabled)
# self.setDropIndicatorShown(enabled)
Expand Down Expand Up @@ -433,7 +435,14 @@ def _initCutTool(self, position):
Initialize the cut tool at the given position.
"""
self.origin = position
if (self.cutTool is None):
self.cutTool = QtWidgets.QGraphicsLineItem()
self.cutTool.setZValue(65535)
pen = QtGui.QPen(QtCore.Qt.red, 2, QtCore.Qt.DashLine)
self.cutTool.setPen(pen)
self.cutTool.hide()
self.scene().addItem(self.cutTool)

self.cutToolStartScenePos = self.mapToScene(position)
self.cutTool.setPos(0,0)
self.cutTool.setLine(self.cutToolStartScenePos.x(), self.cutToolStartScenePos.y(), self.cutToolStartScenePos.x(), self.cutToolStartScenePos.y())
Expand Down Expand Up @@ -519,7 +528,8 @@ def _deleteSelectedNodes(self):
for node in self.scene().selectedItems():
if type(node) is NodeItem:
selected_nodes.append(node.name)
node._remove()
if node.scene() is not None: # else already deleted by a previous node
node._remove()

# Emit signal.
self.signal_NodeDeleted.emit(selected_nodes)
Expand Down Expand Up @@ -571,7 +581,6 @@ def initialize(self):
self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.rubberband = QtWidgets.QRubberBand(QtWidgets.QRubberBand.Rectangle, self)
self.cutTool = QtWidgets.QGraphicsLineItem()

# Setup scene.
scene = NodeScene(self)
Expand All @@ -582,13 +591,6 @@ def initialize(self):
# Connect scene node moved signal
scene.signal_NodeMoved.connect(self.signal_NodeMoved)

self.cutTool.setZValue(65535)
pen = QtGui.QPen(QtCore.Qt.red, 2, QtCore.Qt.DashLine)
# pen.setColor(theEditorConfiguration::getInstance()._borderColor);
self.cutTool.setPen(pen)
self.cutTool.hide()
scene.addItem(self.cutTool)

# Tablet zoom.
self.previousMouseOffset = 0
self.zoomDirection = 0
Expand Down Expand Up @@ -1207,8 +1209,9 @@ def clearGraph(self):
Clear the graph.
"""
self.cutTool = None
self.scene().clear()
self.scene().nodes = dict()
self.scene().nodes = dict()

# Emit signal.
self.signal_GraphCleared.emit()
Expand Down Expand Up @@ -2236,7 +2239,7 @@ def __init__(self, parent, attribute, index, preset, dataType, maxConnections):
super(PlugItem, self).__init__(parent, attribute, preset, index, dataType, maxConnections)

# Storage.
self.attributte = attribute
self.attribute = attribute
self.preset = preset
self.slotType = 'plug'

Expand Down Expand Up @@ -2344,7 +2347,7 @@ def __init__(self, parent, attribute, index, preset, dataType, maxConnections):
super(SocketItem, self).__init__(parent, attribute, preset, index, dataType, maxConnections)

# Storage.
self.attributte = attribute
self.attribute = attribute
self.preset = preset
self.slotType = 'socket'

Expand Down

0 comments on commit 7aa6945

Please sign in to comment.