Refactor code structure for improved readability and maintainability

This commit is contained in:
jack
2026-06-11 11:57:46 -07:00
parent 97ca58bfc2
commit b9f8032203
16 changed files with 512 additions and 7 deletions
+7 -1
View File
@@ -9,7 +9,9 @@ from pygui.backend.device_controller import DeviceController
from pygui.backend.local_settings import LocalSettings
from pygui.backend.local_settings_model import LocalSettingsModel
from pygui.backend.file_browser import FileBrowser
from pygui.backend.session_controller import SessionController
# Importing wafer_map_item registers the @QmlElement WaferMapItem (QML: import ISC.Wafer).
from pygui.backend.wafer_map_item import WaferMapItem
# ===== Application Entry Point =====
def main() -> int:
@@ -35,6 +37,10 @@ def main() -> int:
device_controller = DeviceController(raw_settings, data_dir)
engine.rootContext().setContextProperty("deviceController", device_controller)
# ===== Session Controller (live/review wafer dashboard) =====
stream_controller = SessionController()
engine.rootContext().setContextProperty("streamController", stream_controller)
# ===== QML Startup =====
# The "ISC" QML module lives alongside this file (src/pygui/ISC), so the
# package directory is the import path the engine searches for qmldir.
+8 -3
View File
@@ -26,6 +26,11 @@ from pygui.serialcomm.data_parser import (
)
from pygui.serialcomm.device_service import DeviceService
from pygui.serialcomm.serial_port import WaferInfo
from pygui.backend.session_controller import SessionController
# import pygui.backend.wafer_map_item
stream_controller = SessionController()
# engine.rootContext().setContextProperty("streamController", stream_controller)
log = logging.getLogger(__name__)
@@ -88,8 +93,8 @@ class DeviceController(QObject):
self.statusRestored.emit()
# Marshal worker-thread results onto the Qt main thread.
self._detectFinished.connect(self._handle_detect_finished, Qt.QueuedConnection)
self._readFinished.connect(self._handle_read_finished, Qt.QueuedConnection)
self._detectFinished.connect(self._handle_detect_finished, Qt.ConnectionType.QueuedConnection)
self._readFinished.connect(self._handle_read_finished, Qt.ConnectionType.QueuedConnection)
# ---- Properties ----
@Property(list, notify=portsUpdated)
@@ -504,7 +509,7 @@ class DeviceController(QObject):
self._settings.last_csv_path = self._last_csv_path
# Save to disk
LocalSettings.save_settings(LocalSettings._settings_path(self._data_dir), self._settings)
LocalSettings.save_settings(str(LocalSettings._settings_path(self._data_dir)), self._settings)
# ---- Helpers ----
+1 -1
View File
@@ -221,7 +221,7 @@ class LocalSettingsModel(QObject):
self.waferRetriesChanged.emit()
self._recompute_derived()
@Property("QVariantMap", notify=mastersChanged)
@Property(dict, notify=mastersChanged)
def masters(self) -> dict[str, str]:
return dict(self._masters)