31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
"""Builder for pipeline control section."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from PyQt6.QtCore import Qt
|
|
from PyQt6.QtWidgets import QGroupBox, QLabel, QPushButton, QVBoxLayout
|
|
|
|
|
|
def build_pipeline_group(owner) -> QGroupBox:
|
|
"""Create Start/Single/Stop controls section."""
|
|
group = QGroupBox("Pipeline")
|
|
layout = QVBoxLayout(group)
|
|
layout.setSpacing(8)
|
|
|
|
start_button = QPushButton("Start")
|
|
start_button.clicked.connect(owner._start_run)
|
|
layout.addWidget(start_button, alignment=Qt.AlignmentFlag.AlignLeft)
|
|
|
|
single_button = QPushButton("Single Capture")
|
|
single_button.clicked.connect(owner._start_single_capture)
|
|
layout.addWidget(single_button, alignment=Qt.AlignmentFlag.AlignLeft)
|
|
|
|
stop_button = QPushButton("Stop")
|
|
stop_button.clicked.connect(owner._stop_run)
|
|
layout.addWidget(stop_button, alignment=Qt.AlignmentFlag.AlignLeft)
|
|
|
|
hint = QLabel("Start continuous run or single processed collection capture.")
|
|
hint.setObjectName("hintLabel")
|
|
layout.addWidget(hint)
|
|
return group
|