"""Pinned primary actions; controllers connect their own buttons.""" from PyQt6.QtWidgets import QGridLayout, QGroupBox, QPushButton, QSizePolicy from python_app.gui.controllers.sections.views import PrimaryView def build_primary_actions_group() -> PrimaryView: view = PrimaryView(group=QGroupBox("Actions"), start=QPushButton("Start"), single_capture=QPushButton("Single Capture"), stop=QPushButton("Stop"), apply_radar=QPushButton("Apply Radar"), load=QPushButton("Load Config"), save=QPushButton("Save Config"), preprocess=QPushButton("Preprocessing"), clear=QPushButton("Clear Runtime History")) layout = QGridLayout(view.group) layout.setHorizontalSpacing(8) layout.setVerticalSpacing(8) for index, button in enumerate((view.start, view.single_capture, view.stop, view.apply_radar, view.load, view.save, view.preprocess, view.clear)): button.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed) layout.addWidget(button, index // 3, index % 3, 1, 2 if button is view.clear else 1) for column in range(3): layout.setColumnStretch(column, 1) return view