MCPcopy Create free account
hub / github.com/SLiCAP/SLiCAP_python / __init__

Method __init__

SLiCAP/schematic/model_dialog.py:42–191  ·  view source on GitHub ↗
(self, model_name: str = "", model_type: str = "",
                 simulator: str = "SLiCAP", params=None,
                 preamble_path: str = "",
                 svg_bytes: bytes | None = None,
                 display_width: int | None = None,
                 display_height: int | None = None,
                 parent=None)

Source from the content-addressed store, hash-verified

40 _PREVIEW_MAX_H = 200
41
42 def __init__(self, model_name: str = "", model_type: str = "",
43 simulator: str = "SLiCAP", params=None,
44 preamble_path: str = "",
45 svg_bytes: bytes | None = None,
46 display_width: int | None = None,
47 display_height: int | None = None,
48 parent=None):
49 super().__init__(parent, Qt.Window)
50 self.setWindowTitle("Add / Edit Model Definition")
51 self.setMinimumWidth(520)
52 self._is_editing = bool(params)
53 self._svg_bytes: bytes | None = svg_bytes
54 self._natural_w: int | None = None
55 self._natural_h: int | None = None
56
57 outer = QVBoxLayout(self)
58 outer.setSizeConstraint(QLayout.SetMinimumSize)
59
60 # ── type / name ───────────────────────────────────────────────────────
61 form = QFormLayout()
62
63 self._type_combo = QComboBox()
64 form.addRow("Model type:", self._type_combo)
65
66 self._name_edit = QLineEdit(model_name)
67 form.addRow("Model name:", self._name_edit)
68
69 outer.addLayout(form)
70
71 # ── preamble row ──────────────────────────────────────────────────────
72 prow = QHBoxLayout()
73 prow.addWidget(QLabel("Preamble:"))
74 self._preamble_edit = QLineEdit(preamble_path or _find_slicap_preamble())
75 self._preamble_edit.setReadOnly(True)
76 self._preamble_edit.setPlaceholderText("(default: amsmath + amssymb)")
77 self._preamble_edit.setMinimumWidth(260)
78 browse_btn = QPushButton("Browse…")
79 browse_btn.clicked.connect(self._browse_preamble)
80 clear_btn = QPushButton("Clear")
81 clear_btn.clicked.connect(self._clear_preamble)
82 prow.addWidget(self._preamble_edit, stretch=1)
83 prow.addWidget(browse_btn)
84 prow.addWidget(clear_btn)
85 outer.addLayout(prow)
86
87 # ── parameter table ───────────────────────────────────────────────────
88 outer.addWidget(QLabel("Parameters (name = value):"))
89 self._table = QTableWidget(0, 2)
90 self._table.setHorizontalHeaderLabels(["Name", "Value"])
91 self._table.horizontalHeader().setSectionResizeMode(0, QHeaderView.Stretch)
92 self._table.horizontalHeader().setSectionResizeMode(1, QHeaderView.Stretch)
93 self._table.setSelectionBehavior(QAbstractItemView.SelectRows)
94 self._table.setMinimumHeight(120)
95 outer.addWidget(self._table)
96
97 btn_row = QHBoxLayout()
98 add_btn = QPushButton("Add row")
99 add_btn.clicked.connect(self._add_empty_row)

Callers

nothing calls this directly

Calls 7

_compute_natural_sizeMethod · 0.95
_update_size_labelsMethod · 0.95
_populate_type_comboMethod · 0.95
_add_rowMethod · 0.95
_refill_paramsMethod · 0.95
_show_svgMethod · 0.95
_find_slicap_preambleFunction · 0.70

Tested by

no test coverage detected