diff options
Diffstat (limited to 'src/kicadtoNgspice/Model.py')
-rw-r--r-- | src/kicadtoNgspice/Model.py | 92 |
1 files changed, 28 insertions, 64 deletions
diff --git a/src/kicadtoNgspice/Model.py b/src/kicadtoNgspice/Model.py index 55a988c0..8be92dd9 100644 --- a/src/kicadtoNgspice/Model.py +++ b/src/kicadtoNgspice/Model.py @@ -75,94 +75,58 @@ class Model(QtWidgets.QWidget): print(value) print(key) - # Check if value is iterable + # VECTOR parameters if not isinstance(value, str) and hasattr(value, "__iter__"): - # For tag having vector value temp_tag = [] for item in value: + lbl = QtWidgets.QLabel(item) + modelgrid.addWidget(lbl, self.nextrow, 0) - paramLabel = QtWidgets.QLabel(item) - modelgrid.addWidget(paramLabel, self.nextrow, 0) - self.obj_trac.model_entry_var[ - self.nextcount - ] = QtWidgets.QLineEdit() - - self.obj_trac.model_entry_var[ - self.nextcount] = QtWidgets.QLineEdit() - self.obj_trac.model_entry_var[self.nextcount].setText( - "") + # create & store one QLineEdit + le = QtWidgets.QLineEdit() + self.obj_trac.model_entry_var[self.nextcount] = le + le.setText("") + # load any previous XML value try: for child in root: - if ( - child.text == line[2] - and child.tag == line[3] - ): - self.obj_trac.model_entry_var - [self.nextcount].setText(child[i].text) - self.entry_var[self.count].setText( - child[0].text) - i = i + 1 + if child.text == line[2] and child.tag == line[3]: + le.setText(child[i].text) + i += 1 except BaseException: pass - modelgrid.addWidget(self.entry_var[self.nextcount], - self.nextrow, 1) - modelgrid.addWidget( - self.obj_trac.model_entry_var[self.nextcount], - self.nextrow, - 1, ) + # add exactly one widget per row + modelgrid.addWidget(le, self.nextrow, 1) temp_tag.append(self.nextcount) - self.nextcount = self.nextcount + 1 - self.nextrow = self.nextrow + 1 + self.nextcount += 1 + self.nextrow += 1 tag_dict[key] = temp_tag + # SCALAR parameters else: - paramLabel = QtWidgets.QLabel(value) - modelgrid.addWidget(paramLabel, self.nextrow, 0) - self.obj_trac.model_entry_var[ - self.nextcount - ] = QtWidgets.QLineEdit() - - self.obj_trac.model_entry_var[ - self.nextcount] = QtWidgets.QLineEdit() - self.obj_trac.model_entry_var[self.nextcount].setText("") - - # CSS - modelbox.setStyleSheet( - " \ - QGroupBox { border: 1px solid gray; border-radius:\ - 9px; margin-top: 0.5em; } \ - QGroupBox::title { subcontrol-origin: margin; left:\ - 10px; padding: 0 3px 0 3px; } \ - " - ) - self.grid.addWidget(modelbox) + lbl = QtWidgets.QLabel(value) + modelgrid.addWidget(lbl, self.nextrow, 0) + + le = QtWidgets.QLineEdit() + self.obj_trac.model_entry_var[self.nextcount] = le + le.setText("") try: for child in root: if child.text == line[2] and child.tag == line[3]: - self.obj_trac.model_entry_var[ - self.nextcount - ].setText(child[i].text) - self.entry_var[self.count].setText( - child[0].text) - i = i + 1 + le.setText(child[i].text) + i += 1 except BaseException: pass - modelgrid.addWidget(self.entry_var[self.nextcount], - self.nextrow, 1) - modelgrid.addWidget( - self.obj_trac.model_entry_var[self.nextcount], - self.nextrow, - 1, ) + modelgrid.addWidget(le, self.nextrow, 1) - tag_dict[key] = self.nextcount - self.nextcount = self.nextcount + 1 - self.nextrow = self.nextrow + 1 + tag_dict[key] = self.nextcount + self.nextcount += 1 + self.nextrow += 1 self.end = self.nextcount - 1 modelbox.setLayout(modelgrid) |