class ModelSelectorItemView(ToggleButtonBehavior, BoxLayout): Builder.load_string(""" <ModelSelectorItemView>: canvas.before: Color: rgba: root.selected_color Rectangle: pos: self.pos size: self.size group: 'model' padding: (dp(5), dp(5)) FieldLabel: text: root.label halign: 'center' Image: source: root.image_source """) label = StringProperty() image_source = StringProperty() obj_source = StringProperty() selected_color = ListProperty(ColorScheme.get_dark_background()) def on_state(self, instance, value): selected = value == 'down' self.selected_color = ColorScheme.get_medium_background() if selected else ColorScheme.get_dark_background() self.dispatch('on_selected', selected) def __init__(self, **kwargs): super(ModelSelectorItemView, self).__init__(**kwargs) self.register_event_type('on_selected') self.state = 'down' if kwargs.get('selected') == True else 'normal' def on_selected(self, state): pass
class SingleTrackItemView(ToggleButtonBehavior, BaseTrackItemView): selected_color = ListProperty(ColorScheme.get_dark_background()) def on_state(self, instance, value): selected = value == 'down' self.selected_color = ColorScheme.get_medium_background( ) if selected else ColorScheme.get_dark_background() self.dispatch('on_track_selected', selected, self.track.track_id)
class LapItemButton(ToggleButton): background_color_normal = ColorScheme.get_dark_background() background_color_down = ColorScheme.get_primary() def __init__(self, session, lap, laptime, **kwargs): super(LapItemButton, self).__init__(**kwargs) self.background_normal = "" self.background_down = "" self.background_color = self.background_color_normal self.session = session self.lap = lap self.laptime = laptime def on_state(self, instance, value): self.background_color = self.background_color_down if value == 'down' else self.background_color_normal
class LapItemButton(ToggleButton): Builder.load_string(""" <LapItemButton>: #background_down: '' font_size: self.height * 0.5 font_name: 'resource/fonts/ASL_light.ttf' """) background_color_normal = ColorScheme.get_dark_background() background_color_down = ColorScheme.get_primary() def __init__(self, session, lap, laptime, **kwargs): super(LapItemButton, self).__init__(**kwargs) self.background_normal = "" self.background_down = "" self.background_color = self.background_color_normal self.session = session self.lap = lap self.laptime = laptime def on_state(self, instance, value): self.background_color = self.background_color_down if value == 'down' else self.background_color_normal
class SingleTrackItemView(ToggleButtonBehavior, BaseTrackItemView): Builder.load_string(""" <SingleTrackItemView>: group: 'track' TrackInfoView: canvas.before: Color: rgba: root.selected_color Rectangle: pos: self.pos size: self.size id: trackinfo """) selected_color = ListProperty(ColorScheme.get_dark_background()) def on_state(self, instance, value): selected = value == 'down' self.selected_color = ColorScheme.get_medium_background( ) if selected else ColorScheme.get_dark_background() self.dispatch('on_track_selected', selected, self.track.track_id)
def on_state(self, instance, value): selected = value == 'down' self.selected_color = ColorScheme.get_medium_background( ) if selected else ColorScheme.get_dark_background() self.dispatch('on_selected', selected)
from kivy.uix.treeview import TreeView, TreeViewLabel from kivy.uix.label import Label from kivy.properties import ObjectProperty, StringProperty, NumericProperty from datetime import timedelta from utils import * from fieldlabel import AutoShrinkFieldLabel from kivy.logger import LoggerHistory, Logger from autosportlabs.racecapture.theme.color import ColorScheme from autosportlabs.uix.toast.kivytoast import toast from main import RaceCaptureApp from autosportlabs.widgets.scrollcontainer import ScrollContainer STATUS_KV_FILE = 'autosportlabs/racecapture/views/status/statusview.kv' RAW_STATUS_BGCOLOR_1 = ColorScheme.get_background() RAW_STATUS_BGCOLOR_2 = ColorScheme.get_dark_background() class StatusLabel(AutoShrinkFieldLabel): backgroundColor = ObjectProperty(RAW_STATUS_BGCOLOR_1) class StatusTitle(StatusLabel): pass class StatusValue(StatusLabel): def __init__(self, **kwargs): super(StatusLabel, self).__init__(**kwargs) self.shorten = False
def on_state(self, instance, value): selected = value == 'down' self.selected_color = ColorScheme.get_medium_background() if selected else ColorScheme.get_dark_background() self.dispatch('on_selected', selected)
from kivy.uix.screenmanager import Screen from kivy.uix.treeview import TreeView, TreeViewLabel from kivy.uix.label import Label from kivy.properties import ObjectProperty, StringProperty, NumericProperty from datetime import timedelta from utils import * from fieldlabel import FieldLabel from kivy.logger import LoggerHistory, Logger from autosportlabs.racecapture.theme.color import ColorScheme from autosportlabs.uix.toast.kivytoast import toast from main import RaceCaptureApp from autosportlabs.widgets.scrollcontainer import ScrollContainer STATUS_KV_FILE = 'autosportlabs/racecapture/views/status/statusview.kv' RAW_STATUS_BGCOLOR_1 = ColorScheme.get_background() RAW_STATUS_BGCOLOR_2 = ColorScheme.get_dark_background() class StatusLabel(FieldLabel): backgroundColor = ObjectProperty(RAW_STATUS_BGCOLOR_1) class StatusTitle(StatusLabel): pass class StatusValue(StatusLabel): def __init__(self, **kwargs): super(StatusLabel, self).__init__(**kwargs) self.shorten = False # Simple extension of Kivy's TreeViewLabel so we can add on our own properties # to it for easier view tracking