Skip to content

Commit 50b05ee

Browse files
authored
Merge pull request #94 from davidlatwe/qt.py
Implement #93: Vendoring Qt.py
2 parents 53702c1 + 0512ce1 commit 50b05ee

File tree

20 files changed

+1974
-80
lines changed

20 files changed

+1974
-80
lines changed

NodeGraphQt/base/actions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/python
22
from distutils.version import LooseVersion
33

4-
from PySide2 import QtGui, QtCore
4+
from ..vendor.Qt import QtGui, QtCore
55

66

77
def setup_context_menu(graph):

NodeGraphQt/base/commands.py

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

44
from NodeGraphQt.constants import IN_PORT, OUT_PORT
55

@@ -259,9 +259,9 @@ def set_visible(self, visible):
259259
self.port.view.setVisible(visible)
260260
node_view = self.port.node().view
261261
text_item = None
262-
if self.port.type() == IN_PORT:
262+
if self.port.type_() == IN_PORT:
263263
text_item = node_view.get_input_text_item(self.port.view)
264-
elif self.port.type() == OUT_PORT:
264+
elif self.port.type_() == OUT_PORT:
265265
text_item = node_view.get_output_text_item(self.port.view)
266266
if text_item:
267267
text_item.setVisible(visible)

NodeGraphQt/base/graph.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import os
44
import re
55

6-
from PySide2 import QtCore
7-
from PySide2.QtWidgets import QUndoStack, QAction, QApplication
6+
from ..vendor.Qt import QtCore
7+
from ..vendor.Qt.QtWidgets import QUndoStack, QAction, QApplication
88

99
from NodeGraphQt.base.commands import (NodeAddedCmd,
1010
NodeRemovedCmd,
@@ -39,7 +39,7 @@ def __init__(self, parent=None, tab_search_key='tab'):
3939
super(NodeGraph, self).__init__(parent)
4040
self.setObjectName('NodeGraphQt')
4141
self._model = NodeGraphModel()
42-
self._viewer = NodeViewer()
42+
self._viewer = NodeViewer(parent)
4343
self._vendor = NodeVendor()
4444
self._undo_stack = QUndoStack(self)
4545

@@ -353,12 +353,12 @@ def create_node(self, node_type, name=None, selected=True, color=None, pos=None)
353353
prop_attrs = node.model.__dict__.pop('_TEMP_property_attrs')
354354

355355
graph_attrs = self.model.node_property_attrs
356-
if node.type not in graph_attrs.keys():
357-
graph_attrs[node.type] = {
356+
if node.type_ not in graph_attrs.keys():
357+
graph_attrs[node.type_] = {
358358
n: {'widget_type': wt} for n, wt in wid_types.items()
359359
}
360360
for pname, pattrs in prop_attrs.items():
361-
graph_attrs[node.type][pname].update(pattrs)
361+
graph_attrs[node.type_][pname].update(pattrs)
362362

363363
node.NODE_NAME = self.get_unique_name(name or node.NODE_NAME)
364364
node.model.name = node.NODE_NAME
@@ -393,12 +393,12 @@ def add_node(self, node):
393393
prop_attrs = node.model.__dict__.pop('_TEMP_property_attrs')
394394

395395
graph_attrs = self.model.node_property_attrs
396-
if node.type not in graph_attrs.keys():
397-
graph_attrs[node.type] = {
396+
if node.type_ not in graph_attrs.keys():
397+
graph_attrs[node.type_] = {
398398
n: {'widget_type': wt} for n, wt in wid_types.items()
399399
}
400400
for pname, pattrs in prop_attrs.items():
401-
graph_attrs[node.type][pname].update(pattrs)
401+
graph_attrs[node.type_][pname].update(pattrs)
402402

403403
node._graph = self
404404
node.NODE_NAME = self.get_unique_name(node.NODE_NAME)
@@ -603,7 +603,7 @@ def _deserialize(self, data, relative_pos=False, pos=None):
603603

604604
# build the nodes.
605605
for n_id, n_data in data.get('nodes', {}).items():
606-
identifier = n_data['type']
606+
identifier = n_data['type_']
607607
NodeCls = self._vendor.create_node_instance(identifier)
608608
if NodeCls:
609609
node = NodeCls()

NodeGraphQt/base/menu.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/python
22
from distutils.version import LooseVersion
33

4-
from PySide2 import QtGui, QtCore, QtWidgets
4+
from ..vendor.Qt import QtGui, QtCore, QtWidgets
55

66
from NodeGraphQt.widgets.stylesheet import STYLE_QMENU
77

@@ -89,7 +89,7 @@ def add_menu(self, name):
8989
Returns:
9090
NodeGraphQt.Menu: the appended menu item.
9191
"""
92-
menu = QtWidgets.QMenu(None, title=name)
92+
menu = QtWidgets.QMenu(name, self.qmenu)
9393
menu.setStyleSheet(STYLE_QMENU)
9494
self.qmenu.addMenu(menu)
9595
return Menu(self.__viewer, menu)
@@ -113,7 +113,7 @@ def add_command(self, name, func=None, shortcut=None):
113113
action.setShortcut(shortcut)
114114
if func:
115115
action.triggered.connect(func)
116-
qaction = self.qmenu.addAction(action, shortcut=shortcut)
116+
qaction = self.qmenu.addAction(action)
117117
return MenuCommand(self.__viewer, qaction)
118118

119119
def add_separator(self):

NodeGraphQt/base/model.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class PortModel(object):
1212

1313
def __init__(self, node):
1414
self.node = node
15-
self.type = ''
15+
self.type_ = ''
1616
self.name = 'port'
1717
self.display_name = True
1818
self.multi_connection = False
@@ -46,7 +46,7 @@ def to_dict(self):
4646
class NodeModel(object):
4747

4848
def __init__(self):
49-
self.type = None
49+
self.type_ = None
5050
self.id = hex(id(self))
5151
self.icon = None
5252
self.name = 'node'
@@ -71,7 +71,7 @@ def __init__(self):
7171
# temp store the property widget types.
7272
# (deleted when node is added to the graph)
7373
self._TEMP_property_widget_types = {
74-
'type': NODE_PROP,
74+
'type_': NODE_PROP,
7575
'id': NODE_PROP,
7676
'icon': NODE_PROP,
7777
'name': NODE_PROP_QLINEEDIT,
@@ -113,11 +113,11 @@ def add_property(self, name, value, items=None, range=None, widget_type=NODE_PRO
113113
if range:
114114
self._TEMP_property_attrs[name]['range'] = range
115115
else:
116-
attrs = {self.type: {name: {'widget_type': widget_type}}}
116+
attrs = {self.type_: {name: {'widget_type': widget_type}}}
117117
if items:
118-
attrs[self.type][name]['items'] = items
118+
attrs[self.type_][name]['items'] = items
119119
if range:
120-
attrs[self.type][name]['range'] = range
120+
attrs[self.type_][name]['range'] = range
121121
self._graph_model.node_property_attrs.update(attrs)
122122

123123
def set_property(self, name, value):
@@ -137,7 +137,7 @@ def get_widget_type(self, name):
137137
graph = self._graph_model
138138
if graph is None:
139139
return self._TEMP_property_widget_types.get(name)
140-
return graph.node_property_attrs[self.type][name]['widget_type']
140+
return graph.node_property_attrs[self.type_][name]['widget_type']
141141

142142
@property
143143
def properties(self):

NodeGraphQt/base/node.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,15 @@ def __init__(self, node=None):
3838
assert node, 'node cannot be None.'
3939
self._graph = None
4040
self._model = NodeModel()
41-
self._model.type = self.type
41+
self._model.type_ = self.type_
4242
self._model.name = self.NODE_NAME
4343
self._view = node
44-
self._view.type = self.type
44+
self._view.type_ = self.type_
4545
self._view.name = self.model.name
4646
self._view.id = self._model.id
4747

4848
def __repr__(self):
49-
return '{}(\'{}\')'.format(self.type, self.NODE_NAME)
49+
return '{}(\'{}\')'.format(self.type_, self.NODE_NAME)
5050

5151
def __eq__(self, other):
5252
if isinstance(other, self.__class__):
@@ -57,7 +57,7 @@ def __ne__(self, other):
5757
return not self.__eq__(other)
5858

5959
@classproperty
60-
def type(cls):
60+
def type_(cls):
6161
"""
6262
Node type identifier followed by the class name.
6363
eg. com.chantasticvfx.MyNode
@@ -120,7 +120,7 @@ def model(self):
120120

121121
def set_model(self, model):
122122
self._model = model
123-
self._model.type = self.type
123+
self._model.type_ = self.type_
124124
self._model.id = self.view.id
125125

126126
def update_model(self):
@@ -439,7 +439,7 @@ def add_input(self, name='input', multi_input=False, display_name=True):
439439
raise AssertionError('port name "{}" already taken.'.format(name))
440440
view = self.view.add_input(name, multi_input, display_name)
441441
port = Port(self, view)
442-
port.model.type = IN_PORT
442+
port.model.type_ = IN_PORT
443443
port.model.name = name
444444
port.model.display_name = display_name
445445
port.model.multi_connection = multi_input
@@ -463,7 +463,7 @@ def add_output(self, name='output', multi_output=True, display_name=True):
463463
raise AssertionError('port name "{}" already taken.'.format(name))
464464
view = self.view.add_output(name, multi_output, display_name)
465465
port = Port(self, view)
466-
port.model.type = OUT_PORT
466+
port.model.type_ = OUT_PORT
467467
port.model.name = name
468468
port.model.display_name = display_name
469469
port.model.multi_connection = multi_output

NodeGraphQt/base/port.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,14 @@ def model(self):
5050
"""
5151
return self.__model
5252

53-
def type(self):
53+
def type_(self):
5454
"""
5555
Returns the port type.
5656
5757
Returns:
5858
str: 'in' for input port or 'out' for output port.
5959
"""
60-
return self.model.type
60+
return self.model.type_
6161

6262
def multi_connection(self):
6363
"""
@@ -126,9 +126,9 @@ def connected_ports(self):
126126
for node_id, port_names in self.model.connected_ports.items():
127127
for port_name in port_names:
128128
node = graph.get_node_by_id(node_id)
129-
if self.type() == 'in':
129+
if self.type_() == 'in':
130130
ports.append(node.outputs()[port_name])
131-
elif self.type() == 'out':
131+
elif self.type_() == 'out':
132132
ports.append(node.inputs()[port_name])
133133
return ports
134134

NodeGraphQt/base/vendor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def register_node(self, node, alias=None):
5454
return
5555

5656
name = node.NODE_NAME
57-
node_type = node.type
57+
node_type = node.type_
5858

5959
if self._nodes.get(node_type):
6060
raise AssertionError(

0 commit comments

Comments
 (0)