Skip to content

Commit 1f43209

Browse files
committed
clean up
1 parent 7319ed3 commit 1f43209

19 files changed

+122
-55
lines changed

NodeGraphQt/base/commands.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ class NodeRemovedCmd(QtWidgets.QUndoCommand):
145145
146146
Args:
147147
graph (NodeGraphQt.NodeGraph): node graph.
148-
node (NodeGraphQt.NodeObject): node.
148+
node (NodeGraphQt.BaseNode or NodeGraphQt.NodeObject): node.
149149
"""
150150

151151
def __init__(self, graph, node):

NodeGraphQt/base/factory.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#!/usr/bin/python
2-
32
from ..errors import NodeRegistrationError
43

54

@@ -45,7 +44,7 @@ def nodes(self):
4544

4645
def create_node_instance(self, node_type=None, alias=None):
4746
"""
48-
create node class by the node type identifier or alias.
47+
create node object by the node type identifier or alias.
4948
5049
Args:
5150
node_type (str): node type.

NodeGraphQt/base/graph.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ def _on_insert_node(self, pipe, node_id, prev_node_pos):
172172
node = self.get_node_by_id(node_id)
173173

174174
# exclude the BackdropNode
175-
if not isinstance(node, BaseNode):
175+
if isinstance(node, BackdropNode):
176176
return
177177

178178
disconnected = [(pipe.input_port, pipe.output_port)]
@@ -348,7 +348,7 @@ def _on_search_triggered(self, node_type, pos):
348348
349349
Args:
350350
node_type (str): node identifier.
351-
pos (tuple): x,y position for the node.
351+
pos (tuple or list): x, y position for the node.
352352
"""
353353
self.create_node(node_type, pos=pos)
354354

@@ -578,7 +578,7 @@ def set_grid_mode(self, mode=VIEWER_GRID_LINES):
578578
* :attr:`NodeGraphQt.constants.VIEWER_GRID_LINES`
579579
580580
Args:
581-
mode (int): background styles.
581+
mode (int): background style.
582582
"""
583583
self.scene().grid_mode = mode
584584
self._viewer.force_update()
@@ -819,7 +819,7 @@ def registered_nodes(self):
819819
"""
820820
Return a list of all node types that have been registered.
821821
822-
Hint:
822+
See Also:
823823
To register a node :meth:`NodeGraph.register_node`
824824
825825
Returns:
@@ -843,7 +843,7 @@ def register_nodes(self, nodes):
843843
Register the nodes to the :meth:`NodeGraph.node_factory`
844844
845845
Args:
846-
nodes (list[NodeGraphQt.NodeObject]): list of nodes.
846+
nodes (list): list of nodes.
847847
"""
848848
[self._node_factory.register_node(n) for n in nodes]
849849
self._viewer.rebuild_tab_search()
@@ -865,7 +865,7 @@ def create_node(self, node_type, name=None, selected=True, color=None,
865865
pos (list[int, int]): initial x, y position for the node (default: ``(0, 0)``).
866866
867867
Returns:
868-
NodeGraphQt.NodeObject: the created instance of the node.
868+
BaseNode or NodeObject: the created instance of the node.
869869
"""
870870
if not self._editable:
871871
return
@@ -1285,6 +1285,7 @@ def _deserialize(self, data, relative_pos=False, pos=None, set_parent=True):
12851285
# set custom properties.
12861286
for prop, val in n_data.get('custom', {}).items():
12871287
node.model.set_property(prop, val)
1288+
12881289
nodes[n_id] = node
12891290

12901291
if isinstance(node, SubGraph):

NodeGraphQt/base/menu.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ def add_command(self, name, func=None, node_type=None, node_class=None):
177177
"""
178178
if not node_type and not node_class:
179179
raise NodeMenuError('Node type or Node class not specified!')
180+
180181
if node_class:
181182
node_type = node_class.__name__
182183

NodeGraphQt/base/model.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111

1212

1313
class PortModel(object):
14+
"""
15+
Data dump for a port object.
16+
"""
1417

1518
def __init__(self, node):
1619
self.node = node
@@ -51,6 +54,9 @@ def to_dict(self):
5154

5255

5356
class NodeModel(object):
57+
"""
58+
Data dump for a node object.
59+
"""
5460

5561
def __init__(self):
5662
self.type_ = None
@@ -225,9 +231,11 @@ def to_dict(self):
225231
'disabled': False,
226232
'visible': True,
227233
'inputs': {
228-
<port_name>: {<node_id>: [<port_name>, <port_name>]}},
234+
<port_name>: {<node_id>: [<port_name>, <port_name>]}
235+
},
229236
'outputs': {
230-
<port_name>: {<node_id>: [<port_name>, <port_name>]}},
237+
<port_name>: {<node_id>: [<port_name>, <port_name>]}
238+
},
231239
'input_ports': [<port_name>, <port_name>],
232240
'output_ports': [<port_name>, <port_name>],
233241
'width': 0.0,

NodeGraphQt/base/node.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
NodeFilePath)
3131

3232

33-
class classproperty(object):
33+
class _ClassProperty(object):
3434

3535
def __init__(self, f):
3636
self.f = f
@@ -72,7 +72,7 @@ def __repr__(self):
7272
return '<{}("{}") object at {}>'.format(
7373
self.__class__.__name__, self.NODE_NAME, hex(id(self)))
7474

75-
@classproperty
75+
@_ClassProperty
7676
def type_(cls):
7777
"""
7878
Node type identifier followed by the class name.
@@ -642,7 +642,7 @@ def add_custom_widget(self, widget, widget_type=NODE_PROP_QLABEL, tab=None):
642642
up to the :meth:`NodeObject.set_property` function.
643643
644644
Args:
645-
widget_cls (NodeBaseWidget): node widget class object.
645+
widget (NodeBaseWidget): node widget class object.
646646
widget_type: widget flag to display in the
647647
:class:`NodeGraphQt.PropertiesBinWidget` (default: QLabel).
648648
tab (str): name of the widget tab to display in.
@@ -1221,7 +1221,8 @@ def __init__(self):
12211221
# override base default color.
12221222
self.model.color = (5, 129, 138, 255)
12231223
self.create_property('backdrop_text', '',
1224-
widget_type=NODE_PROP_QTEXTEDIT, tab='Backdrop')
1224+
widget_type=NODE_PROP_QTEXTEDIT,
1225+
tab='Backdrop')
12251226

12261227
def on_backdrop_updated(self, update_prop, value=None):
12271228
"""

NodeGraphQt/qgraphics/node_abstract.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#!/usr/bin/python
2-
32
from Qt import QtCore, QtWidgets
43

54
from ..constants import (Z_VAL_NODE, NODE_WIDTH, NODE_HEIGHT, ITEM_CACHE_MODE)
@@ -13,6 +12,7 @@ class AbstractNodeItem(QtWidgets.QGraphicsItem):
1312
def __init__(self, name='node', parent=None):
1413
super(AbstractNodeItem, self).__init__(parent)
1514
self.setFlags(self.ItemIsSelectable | self.ItemIsMovable)
15+
self.setCacheMode(ITEM_CACHE_MODE)
1616
self.setZValue(Z_VAL_NODE)
1717
self._properties = {
1818
'id': None,
@@ -28,8 +28,6 @@ def __init__(self, name='node', parent=None):
2828
self._width = NODE_WIDTH
2929
self._height = NODE_HEIGHT
3030

31-
self.setCacheMode(ITEM_CACHE_MODE)
32-
3331
def __repr__(self):
3432
return '{}.{}(\'{}\')'.format(
3533
self.__module__, self.__class__.__name__, self.name)

NodeGraphQt/qgraphics/node_base.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,12 @@ def mousePressEvent(self, event):
121121
super(NodeItem, self).mousePressEvent(event)
122122

123123
def mouseReleaseEvent(self, event):
124+
"""
125+
Re-implemented to ignore event if Alt modifier is pressed.
126+
127+
Args:
128+
event (QtWidgets.QGraphicsSceneMouseEvent): mouse event.
129+
"""
124130
if event.modifiers() == QtCore.Qt.AltModifier:
125131
event.ignore()
126132
return
@@ -149,6 +155,13 @@ def mouseDoubleClickEvent(self, event):
149155
super(NodeItem, self).mouseDoubleClickEvent(event)
150156

151157
def itemChange(self, change, value):
158+
"""
159+
Re-implemented to update pipes on selection changed.
160+
161+
Args:
162+
change:
163+
value:
164+
"""
152165
if change == self.ItemSelectedChange and self.scene():
153166
self.reset_pipes()
154167
if value:
@@ -161,7 +174,7 @@ def itemChange(self, change, value):
161174

162175
def _tooltip_disable(self, state):
163176
"""
164-
updates the node tooltip when the node is enabled/disabled.
177+
Updates the node tooltip when the node is enabled/disabled.
165178
166179
Args:
167180
state (bool): node disable state.
@@ -213,7 +226,7 @@ def activate_pipes(self):
213226

214227
def highlight_pipes(self):
215228
"""
216-
highlight pipe color.
229+
Highlight pipe color.
217230
"""
218231
ports = self.inputs + self.outputs
219232
for port in ports:
@@ -400,6 +413,7 @@ def draw_node(self):
400413
(re-implemented for vertical layout design)
401414
"""
402415
height = self._text_item.boundingRect().height()
416+
403417
# setup initial base size.
404418
self._set_base_size(add_w=0.0, add_h=height)
405419
# set text color when node is initialized.

NodeGraphQt/qgraphics/pipe.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,9 @@ def paint(self, painter, option, widget):
9393
pen_width += 0.2
9494
pen_style = PIPE_STYLES.get(PIPE_STYLE_DOTTED)
9595

96-
pen = QtGui.QPen(color, pen_width)
97-
pen.setStyle(pen_style)
96+
pen = QtGui.QPen(color, pen_width, pen_style)
9897
pen.setCapStyle(QtCore.Qt.RoundCap)
98+
pen.setJoinStyle(QtCore.Qt.MiterJoin)
9999

100100
painter.save()
101101
painter.setPen(pen)
@@ -125,7 +125,11 @@ def paint(self, painter, option, widget):
125125
pen_width = 0.6
126126
if dist < 1.0:
127127
pen_width *= (1.0 + dist)
128-
painter.setPen(QtGui.QPen(color, pen_width))
128+
129+
pen = QtGui.QPen(color, pen_width)
130+
pen.setCapStyle(QtCore.Qt.RoundCap)
131+
pen.setJoinStyle(QtCore.Qt.MiterJoin)
132+
painter.setPen(pen)
129133

130134
transform = QtGui.QTransform()
131135
transform.translate(cen_x, cen_y)

NodeGraphQt/qgraphics/port.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/python
2-
from .. import QtGui, QtCore, QtWidgets
2+
from Qt import QtGui, QtCore, QtWidgets
33

44
from ..constants import (
55
IN_PORT, OUT_PORT,
@@ -23,6 +23,7 @@ class PortItem(QtWidgets.QGraphicsItem):
2323
def __init__(self, parent=None):
2424
super(PortItem, self).__init__(parent)
2525
self.setAcceptHoverEvents(True)
26+
self.setCacheMode(ITEM_CACHE_MODE)
2627
self.setFlag(self.ItemIsSelectable, False)
2728
self.setFlag(self.ItemSendsScenePositionChanges, True)
2829
self.setZValue(Z_VAL_PORT)
@@ -39,8 +40,6 @@ def __init__(self, parent=None):
3940
self._multi_connection = False
4041
self._locked = False
4142

42-
self.setCacheMode(ITEM_CACHE_MODE)
43-
4443
def __str__(self):
4544
return '{}.PortItem("{}")'.format(self.__module__, self.name)
4645

NodeGraphQt/qgraphics/slicer.py

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
#!/usr/bin/python
2-
from .. import QtCore, QtGui, QtWidgets
2+
import math
3+
4+
from Qt import QtCore, QtGui, QtWidgets
5+
36
from ..constants import Z_VAL_NODE_WIDGET, PIPE_SLICER_COLOR
47

58

@@ -27,6 +30,7 @@ def paint(self, painter, option, widget):
2730
p2 = self.path().pointAtPercent(1)
2831
size = 6.0
2932
offset = size / 2
33+
arrow_size = 4.0
3034

3135
painter.save()
3236
painter.setRenderHint(painter.Antialiasing, True)
@@ -43,17 +47,31 @@ def paint(self, painter, option, widget):
4347
painter.setPen(QtGui.QPen(text_color, 1.5, QtCore.Qt.SolidLine))
4448
painter.drawText(text_pos, text)
4549

46-
painter.setPen(QtGui.QPen(color, 1.5, QtCore.Qt.DashLine))
50+
painter.setPen(QtGui.QPen(color, 1.5, QtCore.Qt.DashDotLine))
4751
painter.drawPath(self.path())
4852

49-
painter.setPen(QtGui.QPen(color, 1.5, QtCore.Qt.SolidLine))
53+
pen = QtGui.QPen(color, 1.5, QtCore.Qt.SolidLine)
54+
pen.setCapStyle(QtCore.Qt.RoundCap)
55+
pen.setJoinStyle(QtCore.Qt.MiterJoin)
56+
painter.setPen(pen)
5057
painter.setBrush(color)
5158

5259
rect = QtCore.QRectF(p1.x() - offset, p1.y() - offset, size, size)
5360
painter.drawEllipse(rect)
5461

55-
rect = QtCore.QRectF(p2.x() - offset, p2.y() - offset, size, size)
56-
painter.drawEllipse(rect)
62+
arrow = QtGui.QPolygonF()
63+
arrow.append(QtCore.QPointF(-arrow_size, arrow_size))
64+
arrow.append(QtCore.QPointF(0.0, -arrow_size * 0.9))
65+
arrow.append(QtCore.QPointF(arrow_size, arrow_size))
66+
67+
transform = QtGui.QTransform()
68+
transform.translate(p2.x(), p2.y())
69+
radians = math.atan2(p2.y() - p1.y(),
70+
p2.x() - p1.x())
71+
degrees = math.degrees(radians) - 90
72+
transform.rotate(degrees)
73+
74+
painter.drawPolygon(transform.map(arrow))
5775
painter.restore()
5876

5977
def draw_path(self, p1, p2):

NodeGraphQt/widgets/actions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/python
2-
from .. import QtCore, QtWidgets
2+
from Qt import QtCore, QtWidgets
33
from .stylesheet import STYLE_QMENU
44

55

NodeGraphQt/widgets/dialogs.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import os
22

33
from .stylesheet import STYLE_MESSAGEBOX
4-
from .. import QtWidgets
4+
from Qt import QtWidgets
55

66
current_dir = os.path.expanduser('~')
77

@@ -17,8 +17,8 @@ def set_dir(file):
1717
class FileDialog(object):
1818

1919
@staticmethod
20-
def getSaveFileName(parent=None, title="Save File", file_dir=None,
21-
ext_filter="*"):
20+
def getSaveFileName(parent=None, title='Save File', file_dir=None,
21+
ext_filter='*'):
2222
if not file_dir:
2323
file_dir = current_dir
2424
file_dlg = QtWidgets.QFileDialog.getSaveFileName(
@@ -29,8 +29,8 @@ def getSaveFileName(parent=None, title="Save File", file_dir=None,
2929
return file_dlg
3030

3131
@staticmethod
32-
def getOpenFileName(parent=None, title="Open File", file_dir=None,
33-
ext_filter="*"):
32+
def getOpenFileName(parent=None, title='Open File', file_dir=None,
33+
ext_filter='*'):
3434
if not file_dir:
3535
file_dir = current_dir
3636

NodeGraphQt/widgets/node_publish_widget.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import os
22

33
from .properties import PropFileSavePath
4-
from .. import QtWidgets
4+
from Qt import QtWidgets
55

66

77
class _element_widget(QtWidgets.QWidget):

NodeGraphQt/widgets/node_tree.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class NodeTreeWidget(QtWidgets.QTreeWidget):
3030
def __init__(self, parent=None, node_graph=None):
3131
super(NodeTreeWidget, self).__init__(parent)
3232
self.setDragDropMode(QtWidgets.QAbstractItemView.DragOnly)
33-
self.setWindowTitle('Node Tree')
33+
self.setWindowTitle('Nodes Tree')
3434
self.setHeaderHidden(True)
3535
self._factory = None
3636
self._custom_labels = {}

0 commit comments

Comments
 (0)