Skip to content

Commit f2043b7

Browse files
committed
property bin reference bug fix.
1 parent 8e41d48 commit f2043b7

File tree

2 files changed

+20
-14
lines changed

2 files changed

+20
-14
lines changed

NodeGraphQt/custom_widgets/properties_bin/node_property_widgets.py

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ def __init__(self, parent=None):
8989
layout.setAlignment(QtCore.Qt.AlignTop)
9090
layout.addLayout(self.__layout)
9191

92+
self.__property_widgets = {}
93+
9294
def __repr__(self):
9395
return '<{} object at {}>'.format(
9496
self.__class__.__name__, hex(id(self))
@@ -124,6 +126,7 @@ def add_widget(self, name, widget, value, label=None, tooltip=None):
124126

125127
self.__layout.addWidget(label_widget, row, 0, label_flags)
126128
self.__layout.addWidget(widget, row, 1)
129+
self.__property_widgets[name] = widget
127130

128131
def get_widget(self, name):
129132
"""
@@ -135,10 +138,7 @@ def get_widget(self, name):
135138
Returns:
136139
QtWidgets.QWidget: property widget.
137140
"""
138-
for row in range(self.__layout.rowCount()):
139-
item = self.__layout.itemAtPosition(row, 1)
140-
if item and name == item.widget().toolTip():
141-
return item.widget()
141+
return self.__property_widgets.get(name)
142142

143143
def get_all_widgets(self):
144144
"""
@@ -147,14 +147,7 @@ def get_all_widgets(self):
147147
Returns:
148148
dict: {name: widget}
149149
"""
150-
widgets = {}
151-
for row in range(self.__layout.rowCount()):
152-
item = self.__layout.itemAtPosition(row, 1)
153-
if not item:
154-
continue
155-
name = item.widget().toolTip()
156-
widgets[name] = item.widget()
157-
return widgets
150+
return self.__property_widgets
158151

159152

160153
class _PortConnectionsContainer(QtWidgets.QWidget):
@@ -558,11 +551,24 @@ def get_widget(self, name):
558551
"""
559552
if name == 'name':
560553
return self.name_wgt
561-
for tab_name, prop_win in self.__tab_windows.items():
554+
for prop_win in self.__tab_windows.values():
562555
widget = prop_win.get_widget(name)
563556
if widget:
564557
return widget
565558

559+
def get_all_property_widgets(self):
560+
"""
561+
get all the node property widgets.
562+
563+
Returns:
564+
list[BaseProperty]: property widgets.
565+
"""
566+
widgets = [self.name_wgt]
567+
for prop_win in self.__tab_windows.values():
568+
for widget in prop_win.get_all_widgets().values():
569+
widgets.append(widget)
570+
return widgets
571+
566572
def get_port_connection_widget(self):
567573
"""
568574
Returns the ports connections container 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.31'
3+
__version__ = '0.6.32'
44
__status__ = 'Work in Progress'
55
__license__ = 'MIT'
66

0 commit comments

Comments
 (0)