Source code for carbonkivy.behaviors.hierarchical_layer_behavior
from __future__ import annotations
__all__ = ("HierarchicalLayerBehavior",)
from kivy.clock import mainthread
from kivy.properties import OptionProperty
[docs]
class HierarchicalLayerBehavior:
[docs]
layer_code = OptionProperty(1, options=[1, 2])
def __init__(self, *args, **kwargs) -> None:
super(HierarchicalLayerBehavior, self).__init__(*args, **kwargs)
[docs]
def on_parent(self, *args) -> None:
self.set_layer_code()
@mainthread
[docs]
def set_layer_code(self, *args) -> None:
if isinstance(self.parent, HierarchicalLayerBehavior):
self.layer_code = 1 if (self.parent.layer_code == 2) else 2
else:
self.layer_code = 1