SettingExport.py 870 B

123456789101112131415161718192021222324252627282930313233
  1. # Copyright (c) 2024 Ultimaker B.V.
  2. # Cura is released under the terms of the LGPLv3 or higher.
  3. from PyQt6.QtCore import QObject, pyqtProperty, pyqtSignal
  4. class SettingExport(QObject):
  5. def __init__(self, id, name, value):
  6. super().__init__()
  7. self.id = id
  8. self._name = name
  9. self._value = value
  10. self._selected = True
  11. @pyqtProperty(str, constant=True)
  12. def name(self):
  13. return self._name
  14. @pyqtProperty(str, constant=True)
  15. def value(self):
  16. return self._value
  17. selectedChanged = pyqtSignal(bool)
  18. def setSelected(self, selected):
  19. if selected != self._selected:
  20. self._selected = selected
  21. self.selectedChanged.emit(self._selected)
  22. @pyqtProperty(bool, fset = setSelected, notify = selectedChanged)
  23. def selected(self):
  24. return self._selected