Skip to content

Commit 6846bc9

Browse files
authored
Fix custom dialog editor "add" button crash (#37)
* make add button like others * fixed bug where "add" button was crashing pyControl
1 parent e9a132f commit 6846bc9

2 files changed

Lines changed: 14 additions & 9 deletions

File tree

gui/configure_experiment_tab.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ def add_subject(self, setup=None, subject=None, do_run=None):
393393
remove_button.setIcon(QtGui.QIcon("gui/icons/remove.svg"))
394394
ind = QtCore.QPersistentModelIndex(self.model().index(self.n_subjects, 2))
395395
remove_button.clicked.connect(lambda :self.remove_subject(ind.row()))
396-
add_button = QtGui.QPushButton('add')
396+
add_button = QtGui.QPushButton(' add ')
397397
add_button.setIcon(QtGui.QIcon("gui/icons/add.svg"))
398398
add_button.clicked.connect(self.add_subject)
399399
run_checkbox = TableCheckbox()

gui/custom_variables_dialog.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -584,7 +584,7 @@ def closeEvent(self, event):
584584

585585

586586
class Variable_row:
587-
def __init__(self, parent, var_name=None, row_data=None):
587+
def __init__(self, parent, var_name=False, row_data=False):
588588
self.parent = parent
589589
# buttons
590590
self.up_button = QtGui.QPushButton("⬆️")
@@ -676,29 +676,34 @@ def __init__(self, parent=None, data=None):
676676
self.setColumnWidth(8, 40)
677677
self.setColumnWidth(9, 150)
678678

679-
self.add_button = QtGui.QPushButton(" add ")
680-
self.add_button.setIcon(QtGui.QIcon("gui/icons/add.svg"))
681-
self.add_button.clicked.connect(self.add_row)
682-
683679
self.n_variables = 0
684680
self.clear_label_flag = None
685681
if data and data["ordered_inputs"]:
686682
for element in data["ordered_inputs"]:
687683
self.add_row(element, data[element])
684+
# after done loading control rows, insert another row with an "add" button
685+
add_button = QtGui.QPushButton(" add ")
686+
add_button.setIcon(QtGui.QIcon("gui/icons/add.svg"))
687+
add_button.clicked.connect(self.add_row)
688+
self.setCellWidget(self.n_variables, 10, add_button)
688689
else:
689690
self.add_row()
690691

691-
def add_row(self, varname=None, row_dict=None):
692+
def add_row(self, varname=False, row_dict=False):
692693
# populate row with widgets
693694
new_widgets = Variable_row(self, varname, row_dict)
694695
new_widgets.put_into_table(row_index=self.n_variables)
695696

696697
# connect buttons to functions
697698
self.connect_buttons(self.n_variables)
698699

699-
# insert another row and shift down "add" button
700+
# insert another row with an "add" button
700701
self.insertRow(self.n_variables + 1)
701-
self.setCellWidget(self.n_variables + 1, 10, self.add_button)
702+
if not varname:
703+
add_button = QtGui.QPushButton(" add ")
704+
add_button.setIcon(QtGui.QIcon("gui/icons/add.svg"))
705+
add_button.clicked.connect(self.add_row)
706+
self.setCellWidget(self.n_variables + 1, 10, add_button)
702707

703708
self.n_variables += 1
704709
self.update_available()

0 commit comments

Comments
 (0)