magscope.settings#

Classes#

SettingSpec

MagScopeSettings

A MutableMapping is a generic container for associating

Module Contents#

class magscope.settings.SettingSpec[source]#
key: str[source]#
value_type: type | tuple[type, Ellipsis][source]#
default: Any | None = None[source]#
display_name: str | None = None[source]#
minimum: float | None = None[source]#
maximum: float | None = None[source]#
must_be_even: bool = False[source]#
coerce(value: Any) Any[source]#
default_value() Any[source]#
property _candidate_types: tuple[type, Ellipsis][source]#
property label: str[source]#
class magscope.settings.MagScopeSettings(values: Mapping[str, Any] | None = None, *, persistence_available: bool = True, persistence_enabled: bool = False)[source]#

Bases: MutableMapping[str, Any]

A MutableMapping is a generic container for associating key/value pairs.

This class provides concrete generic implementations of all methods except for __getitem__, __setitem__, __delitem__, __iter__, and __len__.

_QSETTINGS_ORGANIZATION = 'MagScope'[source]#
_QSETTINGS_APPLICATION = 'MagScope'[source]#
_QSETTINGS_GROUP = 'MagScopeSettings'[source]#
_SETTING_SPECS: dict[str, SettingSpec][source]#
_persistence_enabled = False[source]#
_persistence_listeners: list[Callable[[MagScopeSettings], None]] = [][source]#
persistence_available = True[source]#
_values: dict[str, Any][source]#
classmethod _load_defaults() dict[str, Any][source]#
classmethod _qsettings() PyQt6.QtCore.QSettings[source]#
_load_qsettings_values() dict[str, Any][source]#
_update_persistence_availability(available: bool) None[source]#
add_persistence_listener(callback: Callable[[MagScopeSettings], None]) None[source]#
classmethod from_qsettings(values: Mapping[str, Any] | None = None) MagScopeSettings[source]#
save_to_qsettings() None[source]#
reset_to_defaults() None[source]#
to_dict() dict[str, Any][source]#
clone() MagScopeSettings[source]#
persistent_copy() MagScopeSettings[source]#
_coerce_setting(key: str, value: Any) Any[source]#
update(mapping: Mapping[str, Any] | Iterable[tuple[str, Any]] = (), **kwargs: Any) None[source]#

D.update([E, ]**F) -> None. Update D from mapping/iterable E and F. If E present and has a .keys() method, does: for k in E.keys(): D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

__getitem__(key: str) Any[source]#
__setitem__(key: str, value: Any) None[source]#
__delitem__(key: str) None[source]#
__iter__()[source]#
__len__()[source]#
export_yaml(path: str | os.PathLike[str]) None[source]#
classmethod import_yaml(path: str | os.PathLike[str]) MagScopeSettings[source]#
classmethod spec_for(key: str) SettingSpec[source]#
classmethod defined_keys() Iterable[str][source]#