Added some information for views.

This commit is contained in:
jupfi 2024-05-29 16:04:27 +02:00
parent 1eebd21022
commit a4a573c6e3
5 changed files with 19 additions and 9 deletions

View file

@ -107,6 +107,7 @@ class NumericOption(Option):
self.is_float = is_float self.is_float = is_float
self.min_value = min_value self.min_value = min_value
self.max_value = max_value self.max_value = max_value
self.slider = slider
def set_value(self, value): def set_value(self, value):
"""Sets the value of the option.""" """Sets the value of the option."""
@ -134,6 +135,7 @@ class NumericOption(Option):
"is_float": self.is_float, "is_float": self.is_float,
"min_value": self.min_value, "min_value": self.min_value,
"max_value": self.max_value, "max_value": self.max_value,
"slider": self.slider,
} }
@classmethod @classmethod
@ -182,7 +184,6 @@ class FunctionOption(Option):
value: The value of the option. value: The value of the option.
""" """
self.value = value self.value = value
self.value_changed.emit()
def get_function_by_name(self, name): def get_function_by_name(self, name):
"""Returns the function with the given name. """Returns the function with the given name.

View file

@ -104,12 +104,12 @@ class TXPulse(PulseParameter):
self.add_option(NumericOption(self.TX_PHASE, 0)) self.add_option(NumericOption(self.TX_PHASE, 0))
self.add_option( self.add_option(
NumericOption( NumericOption(
self.N_PHASE_CYCLES, 1, is_float=False, min_value=1, max_value=360 self.N_PHASE_CYCLES, 1, is_float=False, min_value=1, max_value=360, slider=False
) )
) )
self.add_option( self.add_option(
NumericOption( NumericOption(
self.PHASE_CYCLE_LEVEL, 0, is_float=False, min_value=0, max_value=10 self.PHASE_CYCLE_LEVEL, 0, is_float=False, min_value=0, max_value=10, slider=False
) )
) )
self.add_option( self.add_option(

View file

@ -63,6 +63,7 @@ class PulseSequence:
""" """
if event.name in self.get_event_names(): if event.name in self.get_event_names():
raise ValueError(f"Event with name {event.name} already exists in the pulse sequence") raise ValueError(f"Event with name {event.name} already exists in the pulse sequence")
self.events.append(event) self.events.append(event)
def create_event(self, event_name: str, duration: str) -> "Event": def create_event(self, event_name: str, duration: str) -> "Event":
@ -211,8 +212,8 @@ class QuackSequence(PulseSequence):
If you want to implement your own spectrometer specific pulse sequence, you can inherit from the PulseSequence class. If you want to implement your own spectrometer specific pulse sequence, you can inherit from the PulseSequence class.
""" """
TX_PULSE = "TXPulse" TX_PULSE = "TX"
RX_READOUT = "RXParameters" RX_READOUT = "RX"
def __init__(self, name: str, version: str = None) -> None: def __init__(self, name: str, version: str = None) -> None:
"""Initializes the pulse sequence.""" """Initializes the pulse sequence."""

View file

@ -25,11 +25,11 @@ class QuackSettings(OrderedDict):
return categories return categories
def get_settings_by_category(self, category): def get_settings_by_category(self, category):
settings = [] settings = dict()
for setting in self.values(): for key, setting in self.items():
if setting.category == category: if setting.category == category:
settings.append(setting) settings[key] = setting
return settings return settings

View file

@ -31,10 +31,10 @@ class Setting():
description (str): A description of the setting. description (str): A description of the setting.
default: The default value of the setting. default: The default value of the setting.
""" """
super().__init__()
self.name = name self.name = name
self.category = category self.category = category
self.description = description self.description = description
self.default = default
if default is not None: if default is not None:
self.value = default self.value = default
# Update the description with the default value # Update the description with the default value
@ -57,6 +57,8 @@ class NumericalSetting(Setting):
self.description_limit_info(description, min_value, max_value), self.description_limit_info(description, min_value, max_value),
default, default,
) )
self.min_value = min_value
self.max_value = max_value
def description_limit_info(self, description: str, min_value, max_value) -> str: def description_limit_info(self, description: str, min_value, max_value) -> str:
"""Updates the description with the limits of the setting if there are any. """Updates the description with the limits of the setting if there are any.
@ -89,6 +91,7 @@ class FloatSetting(NumericalSetting):
description (str) : A description of the setting description (str) : A description of the setting
min_value : The minimum value of the setting min_value : The minimum value of the setting
max_value : The maximum value of the setting max_value : The maximum value of the setting
slider : If the setting should be displayed as a slider (only in the GUI not used in this GUI)
""" """
DEFAULT_LENGTH = 100 DEFAULT_LENGTH = 100
@ -101,9 +104,12 @@ class FloatSetting(NumericalSetting):
description: str, description: str,
min_value: float = None, min_value: float = None,
max_value: float = None, max_value: float = None,
slider = False
) -> None: ) -> None:
"""Create a new float setting.""" """Create a new float setting."""
super().__init__(name, category, description, default, min_value, max_value) super().__init__(name, category, description, default, min_value, max_value)
self.slider = slider
@property @property
def value(self): def value(self):
"""The value of the setting. In this case, a float.""" """The value of the setting. In this case, a float."""
@ -135,9 +141,11 @@ class IntSetting(NumericalSetting):
description: str, description: str,
min_value=None, min_value=None,
max_value=None, max_value=None,
slider = False
) -> None: ) -> None:
"""Create a new int setting.""" """Create a new int setting."""
super().__init__(name, category, description, default, min_value, max_value) super().__init__(name, category, description, default, min_value, max_value)
self.slider = slider
@property @property