Source code for jdxi_editor.ui.editors.program.mixer.widgets

"""
Synth Label Widget Registry
"""

from dataclasses import dataclass, field
from typing import Optional

from PySide6.QtWidgets import QLabel


@dataclass
[docs] class LabelWidgetRegistry: """Runtime label registry for mixer tracks"""
[docs] _labels: dict[str, QLabel] = field(default_factory=dict)
[docs] def register(self, synth: str, label: QLabel) -> None: self._labels[synth] = label
[docs] def get(self, synth: str) -> Optional[QLabel]: return self._labels.get(synth)
[docs] def set_text(self, synth: str, text: str) -> None: label = self.get(synth) if label: label.setText(text)