Skip to content

Commit 28317bf

Browse files
authored
Merge pull request #293 from jchanvfx/enable_disable_fix_#291
Enable disable fix #291
2 parents 0656246 + 3143d22 commit 28317bf

File tree

4 files changed

+56
-11
lines changed

4 files changed

+56
-11
lines changed

NodeGraphQt/base/graph.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1813,14 +1813,16 @@ def disable_nodes(self, nodes, mode=None):
18131813
return
18141814
if mode is None:
18151815
mode = not nodes[0].disabled()
1816-
if len(nodes) > 1:
1817-
text = {False: 'enable', True: 'disable'}[mode]
1818-
text = '{} ({}) nodes'.format(text, len(nodes))
1819-
self._undo_stack.beginMacro(text)
1820-
[n.set_disabled(mode) for n in nodes]
1821-
self._undo_stack.endMacro()
1816+
if len(nodes) == 1:
1817+
nodes[0].set_disabled(mode)
18221818
return
1823-
nodes[0].set_disabled(mode)
1819+
1820+
text = '{} ({}) nodes'.format(
1821+
{False: 'enable', True: 'disable'}[mode], len(nodes)
1822+
)
1823+
self._undo_stack.beginMacro(text)
1824+
[n.set_disabled(mode) for n in nodes]
1825+
self._undo_stack.endMacro()
18241826

18251827
def use_OpenGL(self):
18261828
"""

NodeGraphQt/base/model.py

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,8 @@ def __repr__(self):
114114
def add_property(self, name, value, items=None, range=None,
115115
widget_type=None, tab=None):
116116
"""
117-
add custom property.
117+
add custom property or raises an error if the property name is already
118+
taken.
118119
119120
Args:
120121
name (str): name of the property.
@@ -159,6 +160,11 @@ def add_property(self, name, value, items=None, range=None,
159160
self._graph_model.set_node_common_properties(attrs)
160161

161162
def set_property(self, name, value):
163+
"""
164+
Args:
165+
name (str): property name.
166+
value (object): property value.
167+
"""
162168
if name in self.properties.keys():
163169
setattr(self, name, value)
164170
elif name in self._custom_prop.keys():
@@ -167,17 +173,48 @@ def set_property(self, name, value):
167173
raise NodePropertyError('No property "{}"'.format(name))
168174

169175
def get_property(self, name):
176+
"""
177+
Args:
178+
name (str): property name.
179+
180+
Returns:
181+
object: property value.
182+
"""
170183
if name in self.properties.keys():
171184
return self.properties[name]
172185
return self._custom_prop.get(name)
173186

187+
def is_custom_property(self, name):
188+
"""
189+
Args:
190+
name (str): property name.
191+
192+
Returns:
193+
bool: true if custom property.
194+
"""
195+
return name in self._custom_prop
196+
174197
def get_widget_type(self, name):
198+
"""
199+
Args:
200+
name (str): property name.
201+
202+
Returns:
203+
int: node property widget type.
204+
"""
175205
model = self._graph_model
176206
if model is None:
177207
return self._TEMP_property_widget_types.get(name)
178208
return model.get_node_common_properties(self.type_)[name]['widget_type']
179209

180210
def get_tab_name(self, name):
211+
"""
212+
Args:
213+
name (str): property name.
214+
215+
Returns:
216+
str: name of the tab for the properties bin.
217+
"""
181218
model = self._graph_model
182219
if model is None:
183220
attrs = self._TEMP_property_attrs.get(name)

NodeGraphQt/base/node.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -376,8 +376,10 @@ def set_property(self, name, value, push_undo=True):
376376
if hasattr(self.view, name):
377377
setattr(self.view, name, value)
378378
self.model.set_property(name, value)
379-
380-
self.update()
379+
380+
# redraw the node for custom properties.
381+
if self.model.is_custom_property(name):
382+
self.view.draw_node()
381383

382384
def has_property(self, name):
383385
"""

NodeGraphQt/custom_widgets/properties_bin/node_property_widgets.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,11 @@ def __init__(self, parent=None):
6161
self.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel)
6262

6363
def wheelEvent(self, event):
64-
delta = event.delta() * 0.2
64+
"""
65+
Args:
66+
event (QtGui.QWheelEvent):
67+
"""
68+
delta = event.angleDelta().y() * 0.2
6569
self.verticalScrollBar().setValue(
6670
self.verticalScrollBar().value() - delta
6771
)

0 commit comments

Comments
 (0)