Skip to content

Commit 370abf4

Browse files
authored
Merge pull request #263 from jchanvfx/constant_enum_#260
Constant enum #260
2 parents 21bab2c + dce8a29 commit 370abf4

22 files changed

+472
-319
lines changed

NodeGraphQt/base/commands.py

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

4-
from NodeGraphQt.constants import IN_PORT, OUT_PORT
4+
from NodeGraphQt.constants import PortTypeEnum
55

66

77
class PropertyChangedCmd(QtWidgets.QUndoCommand):
@@ -158,7 +158,7 @@ class NodeInputConnectedCmd(QtWidgets.QUndoCommand):
158158

159159
def __init__(self, src_port, trg_port):
160160
QtWidgets.QUndoCommand.__init__(self)
161-
if src_port.type_() == IN_PORT:
161+
if src_port.type_() == PortTypeEnum.IN.value:
162162
self.source = src_port
163163
self.target = trg_port
164164
else:
@@ -185,7 +185,7 @@ class NodeInputDisconnectedCmd(QtWidgets.QUndoCommand):
185185

186186
def __init__(self, src_port, trg_port):
187187
QtWidgets.QUndoCommand.__init__(self)
188-
if src_port.type_() == IN_PORT:
188+
if src_port.type_() == PortTypeEnum.IN.value:
189189
self.source = src_port
190190
self.target = trg_port
191191
else:
@@ -355,9 +355,9 @@ def set_visible(self, visible):
355355
self.port.view.setVisible(visible)
356356
node_view = self.port.node().view
357357
text_item = None
358-
if self.port.type_() == IN_PORT:
358+
if self.port.type_() == PortTypeEnum.IN.value:
359359
text_item = node_view.get_input_text_item(self.port.view)
360-
elif self.port.type_() == OUT_PORT:
360+
elif self.port.type_() == PortTypeEnum.OUT.value:
361361
text_item = node_view.get_output_text_item(self.port.view)
362362
if text_item:
363363
text_item.setVisible(visible)

NodeGraphQt/base/graph.py

Lines changed: 39 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import os
66
import re
77

8-
from Qt import QtCore, QtWidgets, QtGui
8+
from Qt import QtCore, QtWidgets
99

1010
from NodeGraphQt.base.commands import (NodeAddedCmd,
1111
NodeRemovedCmd,
@@ -18,10 +18,10 @@
1818
from NodeGraphQt.base.port import Port
1919
from NodeGraphQt.constants import (
2020
NODE_LAYOUT_DIRECTION, NODE_LAYOUT_HORIZONTAL, NODE_LAYOUT_VERTICAL,
21-
PIPE_LAYOUT_CURVED, PIPE_LAYOUT_STRAIGHT, PIPE_LAYOUT_ANGLE,
21+
PipeLayoutEnum,
2222
URI_SCHEME, URN_SCHEME,
23-
IN_PORT, OUT_PORT,
24-
VIEWER_GRID_LINES
23+
PortTypeEnum,
24+
ViewerEnum
2525
)
2626
from NodeGraphQt.nodes.backdrop_node import BackdropNode
2727
from NodeGraphQt.nodes.base_node import BaseNode
@@ -369,7 +369,8 @@ def _on_connection_changed(self, disconnected, connected):
369369
return
370370

371371
label = 'connect node(s)' if connected else 'disconnect node(s)'
372-
ptypes = {IN_PORT: 'inputs', OUT_PORT: 'outputs'}
372+
ptypes = {PortTypeEnum.IN.value: 'inputs',
373+
PortTypeEnum.OUT.value: 'outputs'}
373374

374375
self._undo_stack.beginMacro(label)
375376
for p1_view, p2_view in disconnected:
@@ -396,7 +397,8 @@ def _on_connection_sliced(self, ports):
396397
"""
397398
if not ports:
398399
return
399-
ptypes = {IN_PORT: 'inputs', OUT_PORT: 'outputs'}
400+
ptypes = {PortTypeEnum.IN.value: 'inputs',
401+
PortTypeEnum.OUT.value: 'outputs'}
400402
self._undo_stack.beginMacro('slice connections')
401403
for p1_view, p2_view in ports:
402404
node1 = self._model.nodes[p1_view.node.id]
@@ -553,7 +555,7 @@ def set_grid_color(self, r, g, b):
553555
self.scene().grid_color = (r, g, b)
554556
self._viewer.force_update()
555557

556-
def set_grid_mode(self, mode=VIEWER_GRID_LINES):
558+
def set_grid_mode(self, mode=None):
557559
"""
558560
Set node graph grid mode.
559561
@@ -562,13 +564,20 @@ def set_grid_mode(self, mode=VIEWER_GRID_LINES):
562564
563565
Node graph background types:
564566
565-
* :attr:`NodeGraphQt.constants.VIEWER_GRID_NONE`
566-
* :attr:`NodeGraphQt.constants.VIEWER_GRID_DOTS`
567-
* :attr:`NodeGraphQt.constants.VIEWER_GRID_LINES`
567+
* :attr:`NodeGraphQt.constants.ViewerEnum.GRID_DISPLAY_NONE.value`
568+
* :attr:`NodeGraphQt.constants.ViewerEnum.GRID_DISPLAY_DOTS.value`
569+
* :attr:`NodeGraphQt.constants.ViewerEnum.GRID_DISPLAY_LINES.value`
568570
569571
Args:
570572
mode (int): background style.
571573
"""
574+
display_types = [
575+
ViewerEnum.GRID_DISPLAY_NONE.value,
576+
ViewerEnum.GRID_DISPLAY_DOTS.value,
577+
ViewerEnum.GRID_DISPLAY_LINES.value
578+
]
579+
if mode not in display_types:
580+
mode = ViewerEnum.GRID_DISPLAY_LINES.value
572581
self.scene().grid_mode = mode
573582
self._viewer.force_update()
574583

@@ -752,7 +761,7 @@ def set_pipe_collision(self, mode=True):
752761
self._model.pipe_collision = mode
753762
self._viewer.pipe_collision = mode
754763

755-
def set_pipe_style(self, style=PIPE_LAYOUT_CURVED):
764+
def set_pipe_style(self, style=PipeLayoutEnum.CURVED.value):
756765
"""
757766
Set node graph pipes to be drawn as straight, curved or angled.
758767
@@ -764,17 +773,17 @@ def set_pipe_style(self, style=PIPE_LAYOUT_CURVED):
764773
765774
Pipe Layout Styles:
766775
767-
* :attr:`NodeGraphQt.constants.PIPE_LAYOUT_CURVED`
768-
* :attr:`NodeGraphQt.constants.PIPE_LAYOUT_STRAIGHT`
769-
* :attr:`NodeGraphQt.constants.PIPE_LAYOUT_ANGLE`
776+
* :attr:`NodeGraphQt.constants.PipeLayoutEnum.CURVED.value`
777+
* :attr:`NodeGraphQt.constants.PipeLayoutEnum.STRAIGHT.value`
778+
* :attr:`NodeGraphQt.constants.PipeLayoutEnum.ANGLE.value`
770779
771780
Args:
772781
style (int): pipe layout style.
773782
"""
774-
pipe_max = max([PIPE_LAYOUT_CURVED,
775-
PIPE_LAYOUT_STRAIGHT,
776-
PIPE_LAYOUT_ANGLE])
777-
style = style if 0 <= style <= pipe_max else PIPE_LAYOUT_CURVED
783+
pipe_max = max([PipeLayoutEnum.CURVED.value,
784+
PipeLayoutEnum.STRAIGHT.value,
785+
PipeLayoutEnum.ANGLE.value])
786+
style = style if 0 <= style <= pipe_max else PipeLayoutEnum.CURVED.value
778787
self._viewer.set_pipe_layout(style)
779788

780789
def fit_to_selection(self):
@@ -1246,16 +1255,20 @@ def _serialize(self, nodes):
12461255
for pname, conn_data in inputs.items():
12471256
for conn_id, prt_names in conn_data.items():
12481257
for conn_prt in prt_names:
1249-
pipe = {IN_PORT: [n_id, pname],
1250-
OUT_PORT: [conn_id, conn_prt]}
1258+
pipe = {
1259+
PortTypeEnum.IN.value: [n_id, pname],
1260+
PortTypeEnum.OUT.value: [conn_id, conn_prt]
1261+
}
12511262
if pipe not in serial_data['connections']:
12521263
serial_data['connections'].append(pipe)
12531264

12541265
for pname, conn_data in outputs.items():
12551266
for conn_id, prt_names in conn_data.items():
12561267
for conn_prt in prt_names:
1257-
pipe = {OUT_PORT: [n_id, pname],
1258-
IN_PORT: [conn_id, conn_prt]}
1268+
pipe = {
1269+
PortTypeEnum.OUT.value: [n_id, pname],
1270+
PortTypeEnum.IN.value: [conn_id, conn_prt]
1271+
}
12591272
if pipe not in serial_data['connections']:
12601273
serial_data['connections'].append(pipe)
12611274

@@ -2362,8 +2375,10 @@ def get_node_by_port(self, port):
23622375
Returns:
23632376
PortInputNode or PortOutputNode: port node object.
23642377
"""
2365-
func_type = {IN_PORT: self.get_input_port_nodes,
2366-
OUT_PORT: self.get_output_port_nodes}
2378+
func_type = {
2379+
PortTypeEnum.IN.value: self.get_input_port_nodes,
2380+
PortTypeEnum.OUT.value: self.get_output_port_nodes
2381+
}
23672382
for n in func_type.get(port.type_(), []):
23682383
if port == n.parent_port:
23692384
return n

NodeGraphQt/base/graph_actions.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -256,48 +256,48 @@ def _curved_pipe(graph):
256256
"""
257257
Set node graph pipes layout as curved.
258258
"""
259-
from NodeGraphQt.constants import PIPE_LAYOUT_CURVED
260-
graph.set_pipe_style(PIPE_LAYOUT_CURVED)
259+
from NodeGraphQt.constants import PipeLayoutEnum
260+
graph.set_pipe_style(PipeLayoutEnum.CURVED.value)
261261

262262

263263
def _straight_pipe(graph):
264264
"""
265265
Set node graph pipes layout as straight.
266266
"""
267-
from NodeGraphQt.constants import PIPE_LAYOUT_STRAIGHT
268-
graph.set_pipe_style(PIPE_LAYOUT_STRAIGHT)
267+
from NodeGraphQt.constants import PipeLayoutEnum
268+
graph.set_pipe_style(PipeLayoutEnum.STRAIGHT.value)
269269

270270

271271
def _angle_pipe(graph):
272272
"""
273273
Set node graph pipes layout as angled.
274274
"""
275-
from NodeGraphQt.constants import PIPE_LAYOUT_ANGLE
276-
graph.set_pipe_style(PIPE_LAYOUT_ANGLE)
275+
from NodeGraphQt.constants import PipeLayoutEnum
276+
graph.set_pipe_style(PipeLayoutEnum.ANGLE.value)
277277

278278

279279
def _bg_grid_none(graph):
280280
"""
281281
Turn off the background patterns.
282282
"""
283-
from NodeGraphQt.constants import VIEWER_GRID_NONE
284-
graph.set_grid_mode(VIEWER_GRID_NONE)
283+
from NodeGraphQt.constants import ViewerEnum
284+
graph.set_grid_mode(ViewerEnum.GRID_DISPLAY_NONE.value)
285285

286286

287287
def _bg_grid_dots(graph):
288288
"""
289289
Set background node graph background with grid dots.
290290
"""
291-
from NodeGraphQt.constants import VIEWER_GRID_DOTS
292-
graph.set_grid_mode(VIEWER_GRID_DOTS)
291+
from NodeGraphQt.constants import ViewerEnum
292+
graph.set_grid_mode(ViewerEnum.GRID_DISPLAY_DOTS.value)
293293

294294

295295
def _bg_grid_lines(graph):
296296
"""
297297
Set background node graph background with grid lines.
298298
"""
299-
from NodeGraphQt.constants import VIEWER_GRID_LINES
300-
graph.set_grid_mode(VIEWER_GRID_LINES)
299+
from NodeGraphQt.constants import ViewerEnum
300+
graph.set_grid_mode(ViewerEnum.GRID_DISPLAY_LINES.value)
301301

302302

303303
def _layout_graph_down(graph):

NodeGraphQt/base/port.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
NodeInputDisconnectedCmd
1010
)
1111
from NodeGraphQt.base.model import PortModel
12-
from NodeGraphQt.constants import IN_PORT, OUT_PORT
12+
from NodeGraphQt.constants import PortTypeEnum
1313
from NodeGraphQt.errors import PortError
1414

1515

@@ -196,9 +196,9 @@ def connected_ports(self):
196196
for node_id, port_names in self.model.connected_ports.items():
197197
for port_name in port_names:
198198
node = graph.get_node_by_id(node_id)
199-
if self.type_() == IN_PORT:
199+
if self.type_() == PortTypeEnum.IN.value:
200200
ports.append(node.outputs()[port_name])
201-
elif self.type_() == OUT_PORT:
201+
elif self.type_() == PortTypeEnum.OUT.value:
202202
ports.append(node.inputs()[port_name])
203203
return ports
204204

@@ -284,7 +284,8 @@ def connect_to(self, port=None, push_undo=True):
284284

285285
# emit "port_connected" signal from the parent graph.
286286
ports = {p.type_(): p for p in [self, port]}
287-
graph.port_connected.emit(ports[IN_PORT], ports[OUT_PORT])
287+
graph.port_connected.emit(ports[PortTypeEnum.IN.value],
288+
ports[PortTypeEnum.OUT.value])
288289

289290
def disconnect_from(self, port=None, push_undo=True):
290291
"""
@@ -315,7 +316,8 @@ def disconnect_from(self, port=None, push_undo=True):
315316

316317
# emit "port_disconnected" signal from the parent graph.
317318
ports = {p.type_(): p for p in [self, port]}
318-
graph.port_disconnected.emit(ports[IN_PORT], ports[OUT_PORT])
319+
graph.port_disconnected.emit(ports[PortTypeEnum.IN.value],
320+
ports[PortTypeEnum.OUT.value])
319321

320322
def clear_connections(self, push_undo=True):
321323
"""

0 commit comments

Comments
 (0)