Skip to content

Commit 8e41d48

Browse files
authored
Merge pull request #400 from jchanvfx/property_bin_widget_tweaks
exposed NodePropEditorWidget widget object.
2 parents 7d86fd2 + 8ea5876 commit 8e41d48

File tree

3 files changed

+34
-7
lines changed

3 files changed

+34
-7
lines changed

NodeGraphQt/__init__.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,10 @@ def __init__(self):
6262
from .widgets.node_widgets import NodeBaseWidget
6363
from .custom_widgets.nodes_tree import NodesTreeWidget
6464
from .custom_widgets.nodes_palette import NodesPaletteWidget
65-
from .custom_widgets.properties_bin.node_property_widgets import PropertiesBinWidget
65+
from .custom_widgets.properties_bin.node_property_widgets import (
66+
NodePropEditorWidget,
67+
PropertiesBinWidget
68+
)
6669

6770

6871
__version__ = VERSION
@@ -78,6 +81,7 @@ def __init__(self):
7881
'NodeGraphMenu',
7982
'NodeObject',
8083
'NodesPaletteWidget',
84+
'NodePropEditorWidget',
8185
'NodesTreeWidget',
8286
'NodesMenu',
8387
'Port',

NodeGraphQt/custom_widgets/properties_bin/node_property_widgets.py

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -302,21 +302,21 @@ def set_lock_controls_disable(self, disable=False):
302302
chb_widget.setDisabled(disable)
303303

304304

305-
class NodePropWidget(QtWidgets.QWidget):
305+
class NodePropEditorWidget(QtWidgets.QWidget):
306306
"""
307-
Node properties widget for display a Node object.
307+
Node properties editor widget for display a Node object.
308308
309309
Args:
310310
parent (QtWidgets.QWidget): parent object.
311-
node (NodeGraphQt.BaseNode): node.
311+
node (NodeGraphQt.NodeObject): node.
312312
"""
313313

314314
#: signal (node_id, prop_name, prop_value)
315315
property_changed = QtCore.Signal(str, str, object)
316316
property_closed = QtCore.Signal(str)
317317

318318
def __init__(self, parent=None, node=None):
319-
super(NodePropWidget, self).__init__(parent)
319+
super(NodePropEditorWidget, self).__init__(parent)
320320
self.__node_id = node.id
321321
self.__tab_windows = {}
322322
self.__tab = QtWidgets.QTabWidget()
@@ -537,6 +537,15 @@ def add_tab(self, name):
537537
self.__tab.addTab(self.__tab_windows[name], name)
538538
return self.__tab_windows[name]
539539

540+
def get_tab_widget(self):
541+
"""
542+
Returns the underlying tab widget.
543+
544+
Returns:
545+
QtWidgets.QTabWidget: tab widget.
546+
"""
547+
return self.__tab
548+
540549
def get_widget(self, name):
541550
"""
542551
get property widget.
@@ -741,6 +750,20 @@ def __on_property_widget_changed(self, node_id, prop_name, prop_value):
741750
if not self._block_signal:
742751
self.property_changed.emit(node_id, prop_name, prop_value)
743752

753+
def create_property_editor(self, node):
754+
"""
755+
Creates a new property editor widget from the provided node.
756+
757+
(re-implement for displaying custom node property editor widget.)
758+
759+
Args:
760+
node (NodeGraphQt.NodeObject): node object.
761+
762+
Returns:
763+
NodePropEditorWidget: property editor widget.
764+
"""
765+
return NodePropEditorWidget(node=node)
766+
744767
def limit(self):
745768
"""
746769
Returns the limit for how many nodes can be loaded into the bin.
@@ -779,7 +802,7 @@ def add_node(self, node):
779802

780803
self._prop_list.insertRow(0)
781804

782-
prop_widget = NodePropWidget(node=node)
805+
prop_widget = self.create_property_editor(node=node)
783806
prop_widget.property_closed.connect(self.__on_prop_close)
784807
prop_widget.property_changed.connect(self.__on_property_widget_changed)
785808
port_connections = prop_widget.get_port_connection_widget()

NodeGraphQt/pkg_info.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/python
22
# -*- coding: utf-8 -*-
3-
__version__ = '0.6.30'
3+
__version__ = '0.6.31'
44
__status__ = 'Work in Progress'
55
__license__ = 'MIT'
66

0 commit comments

Comments
 (0)