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()