Files
radar_system/python_app/gui/controllers/sections/primary_actions_section.py
T
2026-10-06 12:32:26 +03:00

24 lines
1.2 KiB
Python

"""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