mirror of
https://github.com/nqrduck/nqrduck-spectrometer.git
synced 2025-01-02 21:58:08 +00:00
Added string setting.
This commit is contained in:
parent
235cd153d5
commit
4532c2c848
2 changed files with 21 additions and 2 deletions
|
@ -5,7 +5,7 @@ from PyQt6.QtGui import QIcon
|
|||
from PyQt6.QtCore import Qt, pyqtSlot
|
||||
from nqrduck.module.module_view import ModuleView
|
||||
from nqrduck.assets.icons import Logos
|
||||
from .settings import FloatSetting, IntSetting, BooleanSetting, SelectionSetting
|
||||
from .settings import FloatSetting, IntSetting, BooleanSetting, SelectionSetting, StringSetting
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -53,7 +53,7 @@ class BaseSpectrometerView(ModuleView):
|
|||
setting_label.setMinimumWidth(200)
|
||||
|
||||
# Depending on the setting type we add different widgets to the view
|
||||
if isinstance(setting, FloatSetting) or isinstance(setting, IntSetting):
|
||||
if isinstance(setting, FloatSetting) or isinstance(setting, IntSetting) or isinstance(setting, StringSetting):
|
||||
edit_widget = QLineEdit(str(setting.value))
|
||||
edit_widget.setMinimumWidth(100)
|
||||
# Connect the editingFinished signal to the on_value_changed slot of the setting
|
||||
|
|
|
@ -120,3 +120,22 @@ class IPSetting(Setting):
|
|||
except ValueError:
|
||||
raise ValueError("Value must be a valid IP address")
|
||||
self.settings_changed.emit()
|
||||
|
||||
class StringSetting(Setting):
|
||||
""" A setting that is a string."""
|
||||
def __init__(self, name : str, default : str, description : str) -> None:
|
||||
super().__init__(name, description)
|
||||
self.value = default
|
||||
|
||||
@property
|
||||
def value(self):
|
||||
return self._value
|
||||
|
||||
@value.setter
|
||||
def value(self, value):
|
||||
try:
|
||||
self._value = str(value)
|
||||
except ValueError:
|
||||
raise ValueError("Value must be a string")
|
||||
|
||||
self.settings_changed.emit()
|
Loading…
Reference in a new issue