from typing import Optional
from validator_collection import validators
from highcharts_core import constants
from highcharts_core.decorators import class_sensitive
from highcharts_core.metaclasses import HighchartsMeta
[docs]class SonificationLanguageOptions(HighchartsMeta):
"""Language options for the sonification functionality when used in accessibility
mode."""
def __init__(self, **kwargs):
self._play_as_sound_button_text = None
self._play_as_sound_click_announcement = None
self.play_as_sound_button_text = kwargs.get('play_as_sound_button_text', None)
self.play_as_sound_click_announcement = kwargs.get(
'play_as_sound_click_announcement',
None
)
@property
def play_as_sound_button_text(self) -> Optional[str]:
"""Defaults to
``'Play as sound, {chartTitle}'``
:rtype: :class:`str <python:str>` or :obj:`None <python:None>`
"""
return self._play_as_sound_button_text
@play_as_sound_button_text.setter
def play_as_sound_button_text(self, value):
self._play_as_sound_button_text = validators.string(value, allow_empty = True)
@property
def play_as_sound_click_announcement(self) -> Optional[str]:
"""Defaults to
``'Play'``
:rtype: :class:`str <python:str>` or :obj:`None <python:None>`
"""
return self._play_as_sound_click_announcement
@play_as_sound_click_announcement.setter
def play_as_sound_click_announcement(self, value):
self._play_as_sound_click_announcement = validators.string(value,
allow_empty = True)
@classmethod
def _get_kwargs_from_dict(cls, as_dict):
kwargs = {
'play_as_sound_button_text': as_dict.get('playAsSoundButtonText', None),
'play_as_sound_click_announcement': as_dict.get(
'playAsSoundClickAnnouncement',
None
),
}
return kwargs
def _to_untrimmed_dict(self, in_cls = None) -> dict:
untrimmed = {
'playAsSoundButtonText': self.play_as_sound_button_text,
'playAsSoundClickAnnouncement': self.play_as_sound_click_announcement
}
return untrimmed