Exemplo n.º 1
0
class LabelIconButton(FadeableWidget, ButtonBehavior, AnchorLayout):
    title_font = StringProperty('resource/fonts/ASL_regular.ttf')
    title_font_size = NumericProperty(sp(20))
    tile_color = ObjectProperty(ColorScheme.get_dark_accent())
    icon_color = ObjectProperty(ColorScheme.get_accent())
    title_color = ObjectProperty(ColorScheme.get_accent())
    icon = StringProperty('')
    icon_size = NumericProperty(sp(25))
    title = StringProperty('')

    def __init__(self, **kwargs):
        super(LabelIconButton, self).__init__(**kwargs)
        Window.bind(mouse_pos=self.on_mouse_pos)

    def on_tile_color(self, instance, value):
        self.fade_color = value

    def on_mouse_pos(self, *args):
        pos = args[1]
        if self.pulsing:
            return

        if self.collide_point(*self.to_widget(*pos)):
            if not self.disabled:
                self.tile_color = ColorScheme.get_medium_accent()
        else:
            self.tile_color = ColorScheme.get_dark_accent()

    def on_press(self, *args):
        super(LabelIconButton, self).on_press(*args)
        if not self.disabled and not self.pulsing:
            self.tile_color = ColorScheme.get_medium_accent()

    def on_release(self, *args):
        super(LabelIconButton, self).on_release(*args)
        if not self.pulsing:
            self.tile_color = ColorScheme.get_dark_accent()

    def on_fade_color(self, instance, value):
        self.tile_color = value

    def on_pulsing(self, instance, value):
        self.tile_color = ColorScheme.get_medium_accent()
        super(LabelIconButton, self).on_pulsing(instance, value)

    def on_disabled(self, instance, value):
        super(LabelIconButton, self).on_disabled(instance, value)
        self.tile_color = ColorScheme.get_medium_accent()
Exemplo n.º 2
0
class ProgressFieldLabel(AnchorLayout):
    minval = NumericProperty(0)
    maxval = NumericProperty(100)
    value = NumericProperty(0)
    color = ColorScheme.get_accent()
    text_color = ColorScheme.get_light_primary_text()
    text = StringProperty('')

    def __init__(self, **kwargs):
        super(ProgressFieldLabel, self).__init__(**kwargs)

    def on_minval(self, instance, value):
        self._refresh_value()

    def on_maxval(self, instance, value):
        self._refresh_value()

    def on_value(self, instance, value):
        self._refresh_value()

    def on_text(self, instance, value):
        self.ids.value.text = str(value)

    def _refresh_value(self):
        stencil = self.ids.stencil
        value = self.value
        minval = self.minval
        maxval = self.maxval
        pct = ((value - minval) / (maxval - minval))
        width = self.width * pct
        stencil.width = width
Exemplo n.º 3
0
 def _on_option(self, option):
     self.ids.screens.current = option
     for name in self.buttons.keys():
         button = self.buttons[name]
         if name == option:
             button.tile_color = ColorScheme.get_accent()
         else:
             button.tile_color = ColorScheme.get_dark_accent()
Exemplo n.º 4
0
 def _on_option(self, option):
     self.ids.screens.current = option
     for name in self.buttons.keys():
         button = self.buttons[name]
         if name == option:
             button.tile_color = ColorScheme.get_accent()
         else:
             button.tile_color = ColorScheme.get_dark_accent()
Exemplo n.º 5
0
 def add_options_screen(self, screen, button):
     screen.bind(on_screen_modified=self.on_modified)
     self.ids.screens.add_widget(screen)
     button.bind(on_press=lambda x: self._on_option(screen.name))
     self.ids.options.add_widget(button)
     button.tile_color = ColorScheme.get_dark_accent() \
         if len(self.buttons.values()) > 0 else \
         ColorScheme.get_accent()
     self.buttons[screen.name] = button
Exemplo n.º 6
0
 def add_options_screen(self, screen, button):
     screen.bind(on_screen_modified=self.on_modified)
     self.ids.screens.add_widget(screen)
     button.bind(on_press=lambda x: self._on_option(screen.name))
     self.ids.options.add_widget(button)
     button.tile_color = ColorScheme.get_dark_accent() \
         if len(self.buttons.values()) > 0 else \
         ColorScheme.get_accent()
     self.buttons[screen.name] = button
Exemplo n.º 7
0
class LabelIconButton(ButtonBehavior, AnchorLayout):
    title_font = StringProperty('resource/fonts/ASL_regular.ttf')
    title_font_size = NumericProperty(sp(20))
    tile_color = ObjectProperty(ColorScheme.get_accent())
    icon_color = ObjectProperty((0.0, 0.0, 0.0, 1.0))
    title_color = ObjectProperty((0.0, 0.0, 0.0, 1.9))
    icon = StringProperty('')
    icon_size = NumericProperty(sp(25))
    title = StringProperty('')

    def __init__(self, **kwargs):
        super(LabelIconButton, self).__init__(**kwargs)