MCPcopy Index your code
hub / github.com/SLiCAP/SLiCAP_python / ParameterDialog

Class ParameterDialog

SLiCAP/schematic/parameter_dialog.py:45–340  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

43
44
45class ParameterDialog(QDialog):
46 _PREVIEW_MAX_W = 500
47 _PREVIEW_MAX_H = 200
48
49 def __init__(self, params=None,
50 preamble_path: str = "",
51 svg_bytes: bytes | None = None,
52 display_width: int | None = None,
53 display_height: int | None = None,
54 parent=None):
55 super().__init__(parent, Qt.Window)
56 self.setWindowTitle("Circuit Parameters")
57 self.setMinimumWidth(520)
58 self._svg_bytes: bytes | None = svg_bytes
59 self._natural_w: int | None = None
60 self._natural_h: int | None = None
61
62 outer = QVBoxLayout(self)
63 outer.setSizeConstraint(QLayout.SetMinimumSize)
64
65 # ── preamble row ──────────────────────────────────────────────────────
66 prow = QHBoxLayout()
67 prow.addWidget(QLabel("Preamble:"))
68 self._preamble_edit = QLineEdit(preamble_path or _find_slicap_preamble())
69 self._preamble_edit.setReadOnly(True)
70 self._preamble_edit.setPlaceholderText("(default: amsmath + amssymb)")
71 self._preamble_edit.setMinimumWidth(260)
72 browse_btn = QPushButton("Browse…")
73 browse_btn.clicked.connect(self._browse_preamble)
74 clear_btn = QPushButton("Clear")
75 clear_btn.clicked.connect(self._clear_preamble)
76 prow.addWidget(self._preamble_edit, stretch=1)
77 prow.addWidget(browse_btn)
78 prow.addWidget(clear_btn)
79 outer.addLayout(prow)
80
81 # ── parameter table ───────────────────────────────────────────────────
82 self._table = QTableWidget(0, 2)
83 self._table.setHorizontalHeaderLabels(["Parameter", "Value"])
84 self._table.horizontalHeader().setSectionResizeMode(0, QHeaderView.Stretch)
85 self._table.horizontalHeader().setSectionResizeMode(1, QHeaderView.Stretch)
86 self._table.setSelectionBehavior(QAbstractItemView.SelectRows)
87 self._table.setMinimumHeight(130)
88 outer.addWidget(self._table)
89
90 for name, value in (params or []):
91 self._add_row(name, value)
92
93 # ── table action buttons ──────────────────────────────────────────────
94 btn_row = QHBoxLayout()
95 add_btn = QPushButton("Add row")
96 add_btn.clicked.connect(self._add_empty_row)
97 del_btn = QPushButton("Remove row")
98 del_btn.clicked.connect(self._remove_selected_row)
99 hint = QLabel("Use LaTeX math syntax in both columns (e.g. R_1, 10\\,\\text{k})")
100 hint.setStyleSheet("color: grey; font-size: 9pt;")
101 btn_row.addWidget(add_btn)
102 btn_row.addWidget(del_btn)

Callers 2

mouseDoubleClickEventMethod · 0.85
_on_place_parametersMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected