Source code for carbonkivy.behaviors.tooltip_behavior

from __future__ import annotations

__all__ = ("TooltipBehavior",)

from kivy.properties import ObjectProperty

from .hover_behavior import HoverBehavior


[docs] class TooltipBehavior:
[docs] tooltip = ObjectProperty(None, allownone=True)
def __init__(self, **kwargs) -> None: super(TooltipBehavior, self).__init__(**kwargs)
[docs] def on_tooltip(self, *args) -> None: if hasattr(self.tooltip, "set_visibility") and hasattr( self.tooltip.set_visibility, "__call__" ): if isinstance(self, HoverBehavior): self.bind(hover=self.tooltip.set_visibility) else: self.unbind(hover=self.tooltip.set_visibility)