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

Class MainWindow

SLiCAP/schematic/window.py:22–979  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

20
21
22class MainWindow(QMainWindow):
23 def __init__(self, config: str = "full", file: str | None = None):
24 super().__init__()
25 self._config = config
26 self.setWindowTitle("SLiCAP Schematic Capture")
27 self.resize(1200, 800)
28
29 self._scene = SchematicScene()
30 self._build_library() # system symbols only at startup
31 self._view = SchematicView(self._scene)
32 self._current_path: Path | None = None
33 self._doc_props = DocumentProperties.new()
34 self._symbol_loop_name: str | None = None
35 self._dirty: bool = False
36 self._scene.data_changed.connect(lambda: setattr(self, '_dirty', True))
37
38 self.setCentralWidget(self._view)
39
40 self._build_menu()
41
42 if file is not None:
43 self._load_file(Path(file))
44
45 # ── menu ─────────────────────────────────────────────────────────────────
46
47 def _build_menu(self):
48 bar = self.menuBar()
49 file_menu = bar.addMenu("&File")
50
51 act_new = QAction("&New", self)
52 act_new.setShortcut(QKeySequence.New)
53 act_new.triggered.connect(self._on_new)
54 file_menu.addAction(act_new)
55
56 act_open = QAction("&Open…", self)
57 act_open.setShortcut(QKeySequence.Open)
58 act_open.triggered.connect(self._on_open)
59 file_menu.addAction(act_open)
60
61 act_save = QAction("&Save", self)
62 act_save.setShortcut(QKeySequence.Save)
63 act_save.triggered.connect(self._on_save)
64 file_menu.addAction(act_save)
65
66 act_saveas = QAction("Save &As…", self)
67 act_saveas.setShortcut(QKeySequence.SaveAs)
68 act_saveas.triggered.connect(self._on_save_as)
69 file_menu.addAction(act_saveas)
70
71 file_menu.addSeparator()
72
73 act_docprops = QAction("Document &Properties…", self)
74 act_docprops.triggered.connect(self._on_doc_properties)
75 file_menu.addAction(act_docprops)
76
77 file_menu.addSeparator()
78
79 act_export = QAction("&Export Netlist…", self)

Callers 2

mainFunction · 0.85
open_subschematicMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected