Add SettingsTab, StatusTab, DataTab and wire up DeviceController
- SettingsTab: chamber ID, master CSV mapping, wafer behavior toggle, light/dark mode toggle, Edit CSV Metadata dialog - StatusTab: connection status, wafer info, activity log (blank until Detect Wafer fires) - DataTab: empty state, ready for parsed data - HomePage: side rail buttons dispatch device actions and jump to Status tab; selectedSideActionIndex defaults to -1 (nothing active on startup) - DeviceController registered as QML context property in main.py - LocalSettings: added status persistence fields - Theme: added subheadingColor and disabledText - Added serialcomm/ package and backend data/graph modules - gitignore: added build/, dist/, *.spec
This commit is contained in:
@@ -7,6 +7,7 @@ from pathlib import Path
|
||||
class LocalSettings:
|
||||
# ===== Defaults =====
|
||||
def __init__(self):
|
||||
# Configuration settings
|
||||
self.chamber_id = ""
|
||||
self.reverse_z_wafer = False
|
||||
self.master = {} # Dict[str, str]
|
||||
@@ -18,6 +19,16 @@ class LocalSettings:
|
||||
self.wafer_detect_timeout = 5000
|
||||
self.split_threshold = 40.0
|
||||
|
||||
# Status persistence (operational state)
|
||||
self.connection_status = "Disconnected"
|
||||
self.selected_port = ""
|
||||
self.last_wafer_info = {} # Dict[str, Any]
|
||||
self.save_data_dir = ""
|
||||
self.activity_log = [] # List[str]
|
||||
self.data_row_count = 0
|
||||
self.data_col_count = 0
|
||||
self.last_csv_path = ""
|
||||
|
||||
# ===== File Path Helpers =====
|
||||
@classmethod
|
||||
def _settings_path(cls, directory: str) -> Path:
|
||||
|
||||
Reference in New Issue
Block a user