Source code for devctrl.gui.task.settings.debug

"""Custom :class:`.TaskSettingsWidget` subclass for :class:`.DebugTask` for testing the :deco:`taskwidget` decorator."""

from .base import taskwidget, TaskSettingsWidget, SettingsWidget
from ....task import Task, DebugTask, WaitTask
from ....utility.settings import SettingsClass
from PyQt6.QtWidgets import QHBoxLayout, QLabel, QVBoxLayout

[docs] @taskwidget(DebugTask) class DebugTaskWidget(TaskSettingsWidget): """Widget for DebugTask, uses default Settings widget implementation."""
[docs] def __init__(self, task: Task, parent=None): super().__init__(task, parent) self._l_main = QVBoxLayout() self._l_main.addWidget(QLabel("Custom Debug Task Widget")) self._settings_widget = SettingsWidget(task) self._l_main.addWidget(self._settings_widget) self.setLayout(self._l_main) self._settings_widget.settingsChanged.connect(self.settingsChanged)
[docs] def get_settings(self) -> SettingsClass: """Get the settings from the widget""" return self._settings_widget._settings
[docs] def set_settings(self, settings: SettingsClass): """Update widget with settings""" self._settings_widget._settings = settings self.settingsChanged.emit()