Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
flet / controls / services / semantics_service.py
Size: Mime:
import asyncio
from enum import Enum

from flet.controls.base_control import control
from flet.controls.services.service import Service

__all__ = ["SemanticsService", "Assertiveness"]


class Assertiveness(Enum):
    POLITE = "polite"
    ASSERTIVE = "assertive"


@control("SemanticsService")
class SemanticsService(Service):
    async def announce_tooltip_async(self, message: str):
        await self._invoke_method_async(
            "announce_tooltip", arguments={"message": message}
        )

    def announce_tooltip(self, message: str):
        asyncio.create_task(self.announce_tooltip_async(message))

    async def announce_message_async(
        self,
        message: str,
        rtl: bool = False,
        assertiveness: Assertiveness = Assertiveness.POLITE,
    ):
        await self._invoke_method_async(
            "announce_message",
            arguments={
                "message": message,
                "rtl": rtl,
                "assertiveness": assertiveness,
            },
        )

    def announce_message(
        self,
        message: str,
        rtl: bool = False,
        assertiveness: Assertiveness = Assertiveness.POLITE,
    ):
        asyncio.create_task(self.announce_message_async(message, rtl, assertiveness))