mirror of
https://github.com/Benexl/FastAnime.git
synced 2025-12-12 15:50:01 -08:00
67 lines
1.7 KiB
Python
67 lines
1.7 KiB
Python
from kivy.properties import ObjectProperty,StringProperty
|
|
|
|
from kivymd.app import MDApp
|
|
from kivymd.uix.screen import MDScreen
|
|
from kivymd.uix.navigationrail import MDNavigationRail
|
|
from kivymd.uix.boxlayout import MDBoxLayout
|
|
from kivymd.uix.button import MDIconButton
|
|
from kivymd.uix.tooltip import MDTooltip
|
|
|
|
from Utility.observer import Observer
|
|
|
|
|
|
|
|
class NavRail(MDNavigationRail):
|
|
screen=ObjectProperty()
|
|
|
|
|
|
class SearchBar(MDBoxLayout):
|
|
screen=ObjectProperty()
|
|
|
|
|
|
class Tooltip(MDTooltip):
|
|
pass
|
|
|
|
|
|
class TooltipMDIconButton(Tooltip,MDIconButton):
|
|
tooltip_text = StringProperty()
|
|
|
|
|
|
class BaseScreenView(MDScreen, Observer):
|
|
"""
|
|
A base class that implements a visual representation of the model data.
|
|
The view class must be inherited from this class.
|
|
"""
|
|
|
|
controller = ObjectProperty()
|
|
"""
|
|
Controller object - :class:`~Controller.controller_screen.ClassScreenControler`.
|
|
|
|
:attr:`controller` is an :class:`~kivy.properties.ObjectProperty`
|
|
and defaults to `None`.
|
|
"""
|
|
|
|
model = ObjectProperty()
|
|
"""
|
|
Model object - :class:`~Model.model_screen.ClassScreenModel`.
|
|
|
|
:attr:`model` is an :class:`~kivy.properties.ObjectProperty`
|
|
and defaults to `None`.
|
|
"""
|
|
|
|
manager_screens = ObjectProperty()
|
|
"""
|
|
Screen manager object - :class:`~kivymd.uix.screenmanager.MDScreenManager`.
|
|
|
|
:attr:`manager_screens` is an :class:`~kivy.properties.ObjectProperty`
|
|
and defaults to `None`.
|
|
"""
|
|
|
|
def __init__(self, **kw):
|
|
super().__init__(**kw)
|
|
# Often you need to get access to the application object from the view
|
|
# class. You can do this using this attribute.
|
|
self.app = MDApp.get_running_app()
|
|
# Adding a view class as observer.
|
|
self.model.add_observer(self)
|