From 4e5edbe664ecf0e7bdf410c7a3c2e6ca01666139 Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 10:59:03 +0200 Subject: [PATCH 01/21] Create ddd.py --- kivy_garden/navigationdrawer/ddd.py | 1 + 1 file changed, 1 insertion(+) create mode 100644 kivy_garden/navigationdrawer/ddd.py diff --git a/kivy_garden/navigationdrawer/ddd.py b/kivy_garden/navigationdrawer/ddd.py new file mode 100644 index 0000000..e9e6383 --- /dev/null +++ b/kivy_garden/navigationdrawer/ddd.py @@ -0,0 +1 @@ +sss From 31d54a9db871c25a682dd2dce1c39b690c2146b0 Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 11:03:23 +0200 Subject: [PATCH 02/21] Create test_import.py --- kivy_garden/navigationdrawer/tests/test_import.py | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 kivy_garden/navigationdrawer/tests/test_import.py diff --git a/kivy_garden/navigationdrawer/tests/test_import.py b/kivy_garden/navigationdrawer/tests/test_import.py new file mode 100644 index 0000000..9bbe60d --- /dev/null +++ b/kivy_garden/navigationdrawer/tests/test_import.py @@ -0,0 +1,6 @@ +import pytest + + +def test_flower(): + from kivy_garden.navigationdrawer import NavigationDrawer + widget = NavigationDrawer() From 1d9384f71c424e9997bf3497cf697bc0b70e79d7 Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 11:05:17 +0200 Subject: [PATCH 03/21] Create __init__.py --- kivy_garden/navigationdrawer/__init__.py | 698 +++++++++++++++++++++++ 1 file changed, 698 insertions(+) create mode 100644 kivy_garden/navigationdrawer/__init__.py diff --git a/kivy_garden/navigationdrawer/__init__.py b/kivy_garden/navigationdrawer/__init__.py new file mode 100644 index 0000000..f899d0b --- /dev/null +++ b/kivy_garden/navigationdrawer/__init__.py @@ -0,0 +1,698 @@ +# Copyright (c) 2013 Alexander Taylor + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +'''NavigationDrawer +================ + +The NavigationDrawer widget provides a hidden panel view designed to +duplicate the popular Android layout. The user views one main widget +but can slide from the left of the screen to view a second, previously +hidden widget. The transition between open/closed is smoothly +animated, with the parameters (anim time, panel width, touch +detection) all user configurable. If the panel is released without +being fully open or closed, it animates to an appropriate +configuration. + +NavigationDrawer supports many different animation properties, +including moving one or both of the side/main panels, darkening +either/both widgets, changing side panel opacity, and changing which +widget is on top. The user can edit these individually to taste (this +is enough rope to hang oneself, it's easy to make a useless or silly +configuration!), or use one of a few preset animations. + +The hidden panel might normally a set of navigation buttons, but the +implementation lets the user use any widget(s). + +The first widget added to the NavigationDrawer is automatically used +as the side panel, and the second widget as the main panel. No further +widgets can be added, further changes are left to the user via editing +the panel widgets. + +Usage summary +------------- + +- The first widget added to a NavigationDrawer is used as the hidden + side panel. +- The second widget added is used as the main panel. +- Both widgets can be removed with remove_widget, or alternatively + set/removed with set_main_panel and set_side_panel. +- The hidden side panel can be revealed by dragging from the left of + the NavigationDrawer. The touch detection width is the + touch_accept_width property. +- Every animation property is user-editable, or default animations + can be chosen by setting anim_type. + +See the example and docstrings for information on individual properties. + + +Example:: + +class ExampleApp(App): + + def build(self): + navigationdrawer = NavigationDrawer() + + side_panel = BoxLayout(orientation='vertical') + side_panel.add_widget(Label(text='Panel label')) + side_panel.add_widget(Button(text='A button')) + side_panel.add_widget(Button(text='Another button')) + navigationdrawer.add_widget(side_panel) + + label_head = ( + '[b]Example label filling main panel[/b]\n\n[color=ff0000](p' + 'ull from left to right!)[/color]\n\nIn this example, the le' + 'ft panel is a simple boxlayout menu, and this main panel is' + ' a BoxLayout with a label and example image.\n\nSeveral pre' + 'set layouts are available (see buttons below), but users ma' + 'y edit every parameter for much more customisation.') + main_panel = BoxLayout(orientation='vertical') + label_bl = BoxLayout(orientation='horizontal') + label = Label(text=label_head, font_size='15sp', + markup=True, valign='top') + label_bl.add_widget(Widget(size_hint_x=None, width=dp(10))) + label_bl.add_widget(label) + label_bl.add_widget(Widget(size_hint_x=None, width=dp(10))) + main_panel.add_widget(Widget(size_hint_y=None, height=dp(10))) + main_panel.add_widget(label_bl) + main_panel.add_widget(Widget(size_hint_y=None, height=dp(10))) + navigationdrawer.add_widget(main_panel) + label.bind(size=label.setter('text_size')) + + def set_anim_type(name): + navigationdrawer.anim_type = name + modes_layout = BoxLayout(orientation='horizontal') + modes_layout.add_widget(Label(text='preset\nanims:')) + slide_an = Button(text='slide_\nabove_\nanim') + slide_an.bind(on_press=lambda j: set_anim_type('slide_above_anim')) + slide_sim = Button(text='slide_\nabove_\nsimple') + slide_sim.bind(on_press=lambda j: set_anim_type('slide_above_simple')) + fade_in_button = Button(text='fade_in') + fade_in_button.bind(on_press=lambda j: set_anim_type('fade_in')) + reveal_button = Button(text='reveal_\nbelow_\nanim') + reveal_button.bind(on_press= + lambda j: set_anim_type('reveal_below_anim')) + slide_button = Button(text='reveal_\nbelow_\nsimple') + slide_button.bind(on_press= + lambda j: set_anim_type('reveal_below_simple')) + modes_layout.add_widget(slide_an) + modes_layout.add_widget(slide_sim) + modes_layout.add_widget(fade_in_button) + modes_layout.add_widget(reveal_button) + modes_layout.add_widget(slide_button) + main_panel.add_widget(modes_layout) + + button = Button(text='toggle NavigationDrawer state (animate)', + size_hint_y=0.2) + button.bind(on_press=lambda j: navigationdrawer.toggle_state()) + button2 = Button(text='toggle NavigationDrawer state (jump)', + size_hint_y=0.2) + button2.bind(on_press=lambda j: navigationdrawer.toggle_state(False)) + button3 = Button(text='toggle _main_above', size_hint_y=0.2) + button3.bind(on_press=navigationdrawer.toggle_main_above) + main_panel.add_widget(button) + main_panel.add_widget(button2) + main_panel.add_widget(button3) + + return navigationdrawer + + ExampleApp().run() + +''' + +__all__ = ('NavigationDrawer', ) + +from kivy.animation import Animation +from kivy.uix.widget import Widget +from kivy.uix.stencilview import StencilView +from kivy.metrics import dp +from kivy.clock import Clock +from kivy.properties import (ObjectProperty, NumericProperty, OptionProperty, + BooleanProperty, StringProperty) +from kivy.resources import resource_add_path +from kivy.lang import Builder +import os.path + +resource_add_path(os.path.dirname(__file__)) + +Builder.load_string(''' +: + size_hint: (1,1) + _side_panel: sidepanel + _main_panel: mainpanel + _join_image: joinimage + side_panel_width: min(dp(250), 0.5*self.width) + BoxLayout: + id: sidepanel + y: root.y + x: root.x - \ + (1-root._anim_progress)* \ + root.side_panel_init_offset*root.side_panel_width + height: root.height + width: root.side_panel_width + opacity: root.side_panel_opacity + \ + (1-root.side_panel_opacity)*root._anim_progress + canvas: + Color: + rgba: (0,0,0,1) + Rectangle: + pos: self.pos + size: self.size + canvas.after: + Color: + rgba: (0,0,0,(1-root._anim_progress)*root.side_panel_darkness) + Rectangle: + size: self.size + pos: self.pos + BoxLayout: + id: mainpanel + x: root.x + \ + root._anim_progress * \ + root.side_panel_width * \ + root.main_panel_final_offset + y: root.y + size: root.size + canvas: + Color: + rgba: (0,0,0,1) + Rectangle: + pos: self.pos + size: self.size + canvas.after: + Color: + rgba: (0,0,0,root._anim_progress*root.main_panel_darkness) + Rectangle: + size: self.size + pos: self.pos + Image: + id: joinimage + opacity: min(sidepanel.opacity, 0 if root._anim_progress < 0.00001 \ + else min(root._anim_progress*40,1)) + source: root._choose_image(root._main_above, root.separator_image) + mipmap: False + width: root.separator_image_width + height: root._side_panel.height + x: (mainpanel.x - self.width + 1) if root._main_above \ + else (sidepanel.x + sidepanel.width - 1) + y: root.y + allow_stretch: True + keep_ratio: False +''') + + +class NavigationDrawerException(Exception): + '''Raised when add_widget or remove_widget called incorrectly on a + NavigationDrawer. + + ''' + + +class NavigationDrawer(StencilView): + '''Widget taking two children, a side panel and a main panel, + displaying them in a way that replicates the popular Android + functionality. See module documentation for more info. + + ''' + + # Internal references for side, main and image widgets + _side_panel = ObjectProperty() + _main_panel = ObjectProperty() + _join_image = ObjectProperty() + + side_panel = ObjectProperty(None, allownone=True) + '''Automatically bound to whatever widget is added as the hidden panel.''' + main_panel = ObjectProperty(None, allownone=True) + '''Automatically bound to whatever widget is added as the main panel.''' + + # Appearance properties + side_panel_width = NumericProperty() + '''The width of the hidden side panel. Defaults to the minimum of + 250dp or half the NavigationDrawer width.''' + separator_image = StringProperty('') + '''The path to an image that will be placed between the side and main + panels. If set to `''`, defaults to a gradient from black to + transparent in an appropriate direction (left->right if side panel + above main, right->left if main panel on top).''' + separator_image_width = NumericProperty(dp(10)) + '''The width of the separator image. Defaults to 10dp''' + + # Touch properties + touch_accept_width = NumericProperty('14dp') + '''Distance from the left of the NavigationDrawer in which to grab the + touch and allow revealing of the hidden panel.''' + _touch = ObjectProperty(None, allownone=True) # The currently active touch + + # Animation properties + state = OptionProperty('closed', options=('open', 'closed')) + '''Specifies the state of the widget. Must be one of 'open' or + 'closed'. Setting its value automatically jumps to the relevant state, + or users may use the anim_to_state() method to animate the + transition.''' + anim_time = NumericProperty(0.3) + '''The time taken for the panel to slide to the open/closed state when + released or manually animated with anim_to_state.''' + min_dist_to_open = NumericProperty(0.7) + '''Must be between 0 and 1. Specifies the fraction of the hidden panel + width beyond which the NavigationDrawer will relax to open state when + released. Defaults to 0.7.''' + _anim_progress = NumericProperty(0) # Internal state controlling + # widget positions + _anim_init_progress = NumericProperty(0) + + # Animation controls + top_panel = OptionProperty('main', options=['main', 'side']) + '''Denotes which panel should be drawn on top of the other. Must be + one of 'main' or 'side'. Defaults to 'main'.''' + _main_above = BooleanProperty(True) + + side_panel_init_offset = NumericProperty(0.5) + '''Intial offset (to the left of the widget) of the side panel, in + units of its total width. Opening the panel moves it smoothly to its + final position at the left of the screen.''' + + side_panel_darkness = NumericProperty(0.8) + '''Controls the fade-to-black of the side panel in its hidden + state. Must be between 0 (no fading) and 1 (fades to totally + black).''' + + side_panel_opacity = NumericProperty(1) + '''Controls the opacity of the side panel in its hidden state. Must be + between 0 (fade to transparent) and 1 (no transparency)''' + + main_panel_final_offset = NumericProperty(1) + '''Final offset (to the right of the normal position) of the main + panel, in units of the side panel width.''' + + main_panel_darkness = NumericProperty(0) + '''Controls the fade-to-black of the main panel when the side panel is + in its hidden state. Must be between 0 (no fading) and 1 (fades to + totally black). + ''' + + opening_transition = StringProperty('out_cubic') + '''The name of the animation transition type to use when animating to + an open state. Defaults to 'out_cubic'.''' + + closing_transition = StringProperty('in_cubic') + '''The name of the animation transition type to use when animating to + a closed state. Defaults to 'out_cubic'.''' + + anim_type = OptionProperty('reveal_from_below', + options=['slide_above_anim', + 'slide_above_simple', + 'fade_in', + 'reveal_below_anim', + 'reveal_below_simple', + ]) + '''The default animation type to use. Several options are available, + modifying all possibly animation properties including darkness, + opacity, movement and draw height. Users may also (and are + encouaged to) edit these properties individually, for a vastly + larger range of possible animations. Defaults to reveal_below_anim. + ''' + + def __init__(self, **kwargs): + super(NavigationDrawer, self).__init__(**kwargs) + Clock.schedule_once(self.on__main_above, 0) + + def on_anim_type(self, *args): + anim_type = self.anim_type + if anim_type == 'slide_above_anim': + self.top_panel = 'side' + self.side_panel_darkness = 0 + self.side_panel_opacity = 1 + self.main_panel_final_offset = 0.5 + self.main_panel_darkness = 0.5 + self.side_panel_init_offset = 1 + if anim_type == 'slide_above_simple': + self.top_panel = 'side' + self.side_panel_darkness = 0 + self.side_panel_opacity = 1 + self.main_panel_final_offset = 0 + self.main_panel_darkness = 0 + self.side_panel_init_offset = 1 + elif anim_type == 'fade_in': + self.top_panel = 'side' + self.side_panel_darkness = 0 + self.side_panel_opacity = 0 + self.main_panel_final_offset = 0 + self.main_panel_darkness = 0 + self.side_panel_init_offset = 0.5 + elif anim_type == 'reveal_below_anim': + self.top_panel = 'main' + self.side_panel_darkness = 0.8 + self.side_panel_opacity = 1 + self.main_panel_final_offset = 1 + self.main_panel_darkness = 0 + self.side_panel_init_offset = 0.5 + elif anim_type == 'reveal_below_simple': + self.top_panel = 'main' + self.side_panel_darkness = 0 + self.side_panel_opacity = 1 + self.main_panel_final_offset = 1 + self.main_panel_darkness = 0 + self.side_panel_init_offset = 0 + + def on_top_panel(self, *args): + if self.top_panel == 'main': + self._main_above = True + else: + self._main_above = False + + def on__main_above(self, *args): + newval = self._main_above + main_panel = self._main_panel + side_panel = self._side_panel + self.canvas.remove(main_panel.canvas) + self.canvas.remove(side_panel.canvas) + if newval: + self.canvas.insert(0, main_panel.canvas) + self.canvas.insert(0, side_panel.canvas) + else: + self.canvas.insert(0, side_panel.canvas) + self.canvas.insert(0, main_panel.canvas) + + def toggle_main_above(self, *args): + if self._main_above: + self._main_above = False + else: + self._main_above = True + + def add_widget(self, widget): + if len(self.children) == 0: + super(NavigationDrawer, self).add_widget(widget) + self._side_panel = widget + elif len(self.children) == 1: + super(NavigationDrawer, self).add_widget(widget) + self._main_panel = widget + elif len(self.children) == 2: + super(NavigationDrawer, self).add_widget(widget) + self._join_image = widget + elif self.side_panel is None: + self._side_panel.add_widget(widget) + self.side_panel = widget + elif self.main_panel is None: + self._main_panel.add_widget(widget) + self.main_panel = widget + else: + raise NavigationDrawerException( + 'Can\'t add more than two widgets' + 'directly to NavigationDrawer') + + def remove_widget(self, widget): + if widget is self.side_panel: + self._side_panel.remove_widget(widget) + self.side_panel = None + elif widget is self.main_panel: + self._main_panel.remove_widget(widget) + self.main_panel = None + else: + raise NavigationDrawerException( + 'Widget is neither the side or main panel, can\'t remove it.') + + def set_side_panel(self, widget): + '''Removes any existing side panel widgets, and replaces them with the + argument `widget`. + ''' + # Clear existing side panel entries + if len(self._side_panel.children) > 0: + for child in self._side_panel.children: + self._side_panel.remove(child) + # Set new side panel + self._side_panel.add_widget(widget) + self.side_panel = widget + + def set_main_panel(self, widget): + '''Removes any existing main panel widgets, and replaces them with the + argument `widget`. + ''' + # Clear existing side panel entries + if len(self._main_panel.children) > 0: + for child in self._main_panel.children: + self._main_panel.remove_widget(child) + # Set new side panel + self._main_panel.add_widget(widget) + self.main_panel = widget + + def on__anim_progress(self, *args): + if self._anim_progress > 1: + self._anim_progress = 1 + elif self._anim_progress < 0: + self._anim_progress = 0 + if self._anim_progress >= 1: + self.state = 'open' + elif self._anim_progress <= 0: + self.state = 'closed' + + def on_state(self, *args): + Animation.cancel_all(self) + if self.state == 'open': + self._anim_progress = 1 + else: + self._anim_progress = 0 + + def anim_to_state(self, state): + '''If not already in state `state`, animates smoothly to it, taking + the time given by self.anim_time. State may be either 'open' + or 'closed'. + + ''' + if state == 'open': + anim = Animation(_anim_progress=1, + duration=self.anim_time, + t=self.closing_transition) + anim.start(self) + elif state == 'closed': + anim = Animation(_anim_progress=0, + duration=self.anim_time, + t=self.opening_transition) + anim.start(self) + else: + raise NavigationDrawerException( + 'Invalid state received, should be one of `open` or `closed`') + + def toggle_state(self, animate=True): + '''Toggles from open to closed or vice versa, optionally animating or + simply jumping.''' + if self.state == 'open': + if animate: + self.anim_to_state('closed') + else: + self.state = 'closed' + elif self.state == 'closed': + if animate: + self.anim_to_state('open') + else: + self.state = 'open' + + def on_touch_down(self, touch): + col_self = self.collide_point(*touch.pos) + col_side = self._side_panel.collide_point(*touch.pos) + col_main = self._main_panel.collide_point(*touch.pos) + + if self._anim_progress < 0.001: # i.e. closed + valid_region = (self.x <= + touch.x <= + (self.x + self.touch_accept_width)) + if not valid_region: + self._main_panel.on_touch_down(touch) + return False + else: + if col_side and not self._main_above: + self._side_panel.on_touch_down(touch) + return False + valid_region = (self._main_panel.x <= + touch.x <= + (self._main_panel.x + self._main_panel.width)) + if not valid_region: + if self._main_above: + if col_main: + self._main_panel.on_touch_down(touch) + elif col_side: + self._side_panel.on_touch_down(touch) + else: + if col_side: + self._side_panel.on_touch_down(touch) + elif col_main: + self._main_panel.on_touch_down(touch) + return False + Animation.cancel_all(self) + self._anim_init_progress = self._anim_progress + self._touch = touch + touch.ud['type'] = self.state + touch.ud['panels_jiggled'] = False # If user moved panels back + # and forth, don't default + # to close on touch release + touch.grab(self) + return True + + def on_touch_move(self, touch): + if touch is self._touch: + dx = touch.x - touch.ox + self._anim_progress = max(0, min(self._anim_init_progress + + (dx / self.side_panel_width), 1)) + if self._anim_progress < 0.975: + touch.ud['panels_jiggled'] = True + else: + super(NavigationDrawer, self).on_touch_move(touch) + return + + def on_touch_up(self, touch): + if touch is self._touch: + self._touch = None + init_state = touch.ud['type'] + touch.ungrab(self) + jiggled = touch.ud['panels_jiggled'] + if init_state == 'open' and not jiggled: + if self._anim_progress >= 0.975: + self.anim_to_state('closed') + else: + self._anim_relax() + else: + self._anim_relax() + else: + super(NavigationDrawer, self).on_touch_up(touch) + return + + def _anim_relax(self): + '''Animates to the open or closed position, depending on whether the + current position is past self.min_dist_to_open. + + ''' + if self._anim_progress > self.min_dist_to_open: + self.anim_to_state('open') + else: + self.anim_to_state('closed') + + def _choose_image(self, *args): + '''Chooses which image to display as the main/side separator, based on + _main_above.''' + if self.separator_image: + return self.separator_image + if self._main_above: + return 'navigationdrawer_gradient_rtol.png' + else: + return 'navigationdrawer_gradient_ltor.png' + +if __name__ == '__main__': + from kivy.base import runTouchApp + from kivy.uix.boxlayout import BoxLayout + from kivy.uix.label import Label + from kivy.uix.button import Button + from kivy.uix.popup import Popup + from kivy.uix.image import Image + from kivy.core.window import Window + + navigationdrawer = NavigationDrawer() + + side_panel = BoxLayout(orientation='vertical') + side_panel.add_widget(Label(text='Panel label')) + popup = Popup(title='Sidebar popup', + content=Label( + text='You clicked the sidebar\npopup button'), + size_hint=(0.7, 0.7)) + first_button = Button(text='Popup\nbutton') + first_button.bind(on_release=popup.open) + side_panel.add_widget(first_button) + side_panel.add_widget(Button(text='Another\nbutton')) + navigationdrawer.add_widget(side_panel) + + label_head = ( + '[b]Example label filling main panel[/b]\n\n[color=ff0000](p' + 'ull from left to right!)[/color]\n\nIn this example, the le' + 'ft panel is a simple boxlayout menu, and this main panel is' + ' a BoxLayout with a label and example image.\n\nSeveral pre' + 'set layouts are available (see buttons below), but users ma' + 'y edit every parameter for much more customisation.') + main_panel = BoxLayout(orientation='vertical') + label_bl = BoxLayout(orientation='horizontal') + label = Label(text=label_head, font_size='15sp', + markup=True, valign='top') + label_bl.add_widget(Widget(size_hint_x=None, width=dp(10))) + label_bl.add_widget(label) + label_bl.add_widget(Widget(size_hint_x=None, width=dp(10))) + main_panel.add_widget(Widget(size_hint_y=None, height=dp(10))) + main_panel.add_widget(label_bl) + main_panel.add_widget(Widget(size_hint_y=None, height=dp(10))) + navigationdrawer.add_widget(main_panel) + label.bind(size=label.setter('text_size')) + + def set_anim_type(name): + navigationdrawer.anim_type = name + + def set_transition(name): + navigationdrawer.opening_transition = name + navigationdrawer.closing_transition = name + + modes_layout = BoxLayout(orientation='horizontal') + modes_layout.add_widget(Label(text='preset\nanims:')) + slide_an = Button(text='slide_\nabove_\nanim') + slide_an.bind(on_press=lambda j: set_anim_type('slide_above_anim')) + slide_sim = Button(text='slide_\nabove_\nsimple') + slide_sim.bind(on_press=lambda j: set_anim_type('slide_above_simple')) + fade_in_button = Button(text='fade_in') + fade_in_button.bind(on_press=lambda j: set_anim_type('fade_in')) + reveal_button = Button(text='reveal_\nbelow_\nanim') + reveal_button.bind(on_press= + lambda j: set_anim_type('reveal_below_anim')) + slide_button = Button(text='reveal_\nbelow_\nsimple') + slide_button.bind(on_press= + lambda j: set_anim_type('reveal_below_simple')) + modes_layout.add_widget(slide_an) + modes_layout.add_widget(slide_sim) + modes_layout.add_widget(fade_in_button) + modes_layout.add_widget(reveal_button) + modes_layout.add_widget(slide_button) + main_panel.add_widget(modes_layout) + + transitions_layout = BoxLayout(orientation='horizontal') + transitions_layout.add_widget(Label(text='anim\ntransitions')) + out_cubic = Button(text='out_cubic') + out_cubic.bind(on_press= + lambda j: set_transition('out_cubic')) + in_quint = Button(text='in_quint') + in_quint.bind(on_press= + lambda j: set_transition('in_quint')) + linear = Button(text='linear') + linear.bind(on_press= + lambda j: set_transition('linear')) + out_sine = Button(text='out_sine') + out_sine.bind(on_press= + lambda j: set_transition('out_sine')) + transitions_layout.add_widget(out_cubic) + transitions_layout.add_widget(in_quint) + transitions_layout.add_widget(linear) + transitions_layout.add_widget(out_sine) + main_panel.add_widget(transitions_layout) + + button = Button(text='toggle NavigationDrawer state (animate)', + size_hint_y=0.2) + button.bind(on_press=lambda j: navigationdrawer.toggle_state()) + button2 = Button(text='toggle NavigationDrawer state (jump)', + size_hint_y=0.2) + button2.bind(on_press=lambda j: navigationdrawer.toggle_state(False)) + button3 = Button(text='toggle _main_above', size_hint_y=0.2) + button3.bind(on_press=navigationdrawer.toggle_main_above) + main_panel.add_widget(button) + main_panel.add_widget(button2) + main_panel.add_widget(button3) + + Window.add_widget(navigationdrawer) + + runTouchApp() From 8d6eda88c83bf7bc55c24a04b7179aa5465d79ff Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 11:05:27 +0200 Subject: [PATCH 04/21] Delete ddd.py --- kivy_garden/navigationdrawer/ddd.py | 1 - 1 file changed, 1 deletion(-) delete mode 100644 kivy_garden/navigationdrawer/ddd.py diff --git a/kivy_garden/navigationdrawer/ddd.py b/kivy_garden/navigationdrawer/ddd.py deleted file mode 100644 index e9e6383..0000000 --- a/kivy_garden/navigationdrawer/ddd.py +++ /dev/null @@ -1 +0,0 @@ -sss From 44edae48132d9c47dc6ca0372c08077da8457f56 Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 11:05:49 +0200 Subject: [PATCH 05/21] Delete __init__.py --- __init__.py | 698 ---------------------------------------------------- 1 file changed, 698 deletions(-) delete mode 100644 __init__.py diff --git a/__init__.py b/__init__.py deleted file mode 100644 index f899d0b..0000000 --- a/__init__.py +++ /dev/null @@ -1,698 +0,0 @@ -# Copyright (c) 2013 Alexander Taylor - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -'''NavigationDrawer -================ - -The NavigationDrawer widget provides a hidden panel view designed to -duplicate the popular Android layout. The user views one main widget -but can slide from the left of the screen to view a second, previously -hidden widget. The transition between open/closed is smoothly -animated, with the parameters (anim time, panel width, touch -detection) all user configurable. If the panel is released without -being fully open or closed, it animates to an appropriate -configuration. - -NavigationDrawer supports many different animation properties, -including moving one or both of the side/main panels, darkening -either/both widgets, changing side panel opacity, and changing which -widget is on top. The user can edit these individually to taste (this -is enough rope to hang oneself, it's easy to make a useless or silly -configuration!), or use one of a few preset animations. - -The hidden panel might normally a set of navigation buttons, but the -implementation lets the user use any widget(s). - -The first widget added to the NavigationDrawer is automatically used -as the side panel, and the second widget as the main panel. No further -widgets can be added, further changes are left to the user via editing -the panel widgets. - -Usage summary -------------- - -- The first widget added to a NavigationDrawer is used as the hidden - side panel. -- The second widget added is used as the main panel. -- Both widgets can be removed with remove_widget, or alternatively - set/removed with set_main_panel and set_side_panel. -- The hidden side panel can be revealed by dragging from the left of - the NavigationDrawer. The touch detection width is the - touch_accept_width property. -- Every animation property is user-editable, or default animations - can be chosen by setting anim_type. - -See the example and docstrings for information on individual properties. - - -Example:: - -class ExampleApp(App): - - def build(self): - navigationdrawer = NavigationDrawer() - - side_panel = BoxLayout(orientation='vertical') - side_panel.add_widget(Label(text='Panel label')) - side_panel.add_widget(Button(text='A button')) - side_panel.add_widget(Button(text='Another button')) - navigationdrawer.add_widget(side_panel) - - label_head = ( - '[b]Example label filling main panel[/b]\n\n[color=ff0000](p' - 'ull from left to right!)[/color]\n\nIn this example, the le' - 'ft panel is a simple boxlayout menu, and this main panel is' - ' a BoxLayout with a label and example image.\n\nSeveral pre' - 'set layouts are available (see buttons below), but users ma' - 'y edit every parameter for much more customisation.') - main_panel = BoxLayout(orientation='vertical') - label_bl = BoxLayout(orientation='horizontal') - label = Label(text=label_head, font_size='15sp', - markup=True, valign='top') - label_bl.add_widget(Widget(size_hint_x=None, width=dp(10))) - label_bl.add_widget(label) - label_bl.add_widget(Widget(size_hint_x=None, width=dp(10))) - main_panel.add_widget(Widget(size_hint_y=None, height=dp(10))) - main_panel.add_widget(label_bl) - main_panel.add_widget(Widget(size_hint_y=None, height=dp(10))) - navigationdrawer.add_widget(main_panel) - label.bind(size=label.setter('text_size')) - - def set_anim_type(name): - navigationdrawer.anim_type = name - modes_layout = BoxLayout(orientation='horizontal') - modes_layout.add_widget(Label(text='preset\nanims:')) - slide_an = Button(text='slide_\nabove_\nanim') - slide_an.bind(on_press=lambda j: set_anim_type('slide_above_anim')) - slide_sim = Button(text='slide_\nabove_\nsimple') - slide_sim.bind(on_press=lambda j: set_anim_type('slide_above_simple')) - fade_in_button = Button(text='fade_in') - fade_in_button.bind(on_press=lambda j: set_anim_type('fade_in')) - reveal_button = Button(text='reveal_\nbelow_\nanim') - reveal_button.bind(on_press= - lambda j: set_anim_type('reveal_below_anim')) - slide_button = Button(text='reveal_\nbelow_\nsimple') - slide_button.bind(on_press= - lambda j: set_anim_type('reveal_below_simple')) - modes_layout.add_widget(slide_an) - modes_layout.add_widget(slide_sim) - modes_layout.add_widget(fade_in_button) - modes_layout.add_widget(reveal_button) - modes_layout.add_widget(slide_button) - main_panel.add_widget(modes_layout) - - button = Button(text='toggle NavigationDrawer state (animate)', - size_hint_y=0.2) - button.bind(on_press=lambda j: navigationdrawer.toggle_state()) - button2 = Button(text='toggle NavigationDrawer state (jump)', - size_hint_y=0.2) - button2.bind(on_press=lambda j: navigationdrawer.toggle_state(False)) - button3 = Button(text='toggle _main_above', size_hint_y=0.2) - button3.bind(on_press=navigationdrawer.toggle_main_above) - main_panel.add_widget(button) - main_panel.add_widget(button2) - main_panel.add_widget(button3) - - return navigationdrawer - - ExampleApp().run() - -''' - -__all__ = ('NavigationDrawer', ) - -from kivy.animation import Animation -from kivy.uix.widget import Widget -from kivy.uix.stencilview import StencilView -from kivy.metrics import dp -from kivy.clock import Clock -from kivy.properties import (ObjectProperty, NumericProperty, OptionProperty, - BooleanProperty, StringProperty) -from kivy.resources import resource_add_path -from kivy.lang import Builder -import os.path - -resource_add_path(os.path.dirname(__file__)) - -Builder.load_string(''' -: - size_hint: (1,1) - _side_panel: sidepanel - _main_panel: mainpanel - _join_image: joinimage - side_panel_width: min(dp(250), 0.5*self.width) - BoxLayout: - id: sidepanel - y: root.y - x: root.x - \ - (1-root._anim_progress)* \ - root.side_panel_init_offset*root.side_panel_width - height: root.height - width: root.side_panel_width - opacity: root.side_panel_opacity + \ - (1-root.side_panel_opacity)*root._anim_progress - canvas: - Color: - rgba: (0,0,0,1) - Rectangle: - pos: self.pos - size: self.size - canvas.after: - Color: - rgba: (0,0,0,(1-root._anim_progress)*root.side_panel_darkness) - Rectangle: - size: self.size - pos: self.pos - BoxLayout: - id: mainpanel - x: root.x + \ - root._anim_progress * \ - root.side_panel_width * \ - root.main_panel_final_offset - y: root.y - size: root.size - canvas: - Color: - rgba: (0,0,0,1) - Rectangle: - pos: self.pos - size: self.size - canvas.after: - Color: - rgba: (0,0,0,root._anim_progress*root.main_panel_darkness) - Rectangle: - size: self.size - pos: self.pos - Image: - id: joinimage - opacity: min(sidepanel.opacity, 0 if root._anim_progress < 0.00001 \ - else min(root._anim_progress*40,1)) - source: root._choose_image(root._main_above, root.separator_image) - mipmap: False - width: root.separator_image_width - height: root._side_panel.height - x: (mainpanel.x - self.width + 1) if root._main_above \ - else (sidepanel.x + sidepanel.width - 1) - y: root.y - allow_stretch: True - keep_ratio: False -''') - - -class NavigationDrawerException(Exception): - '''Raised when add_widget or remove_widget called incorrectly on a - NavigationDrawer. - - ''' - - -class NavigationDrawer(StencilView): - '''Widget taking two children, a side panel and a main panel, - displaying them in a way that replicates the popular Android - functionality. See module documentation for more info. - - ''' - - # Internal references for side, main and image widgets - _side_panel = ObjectProperty() - _main_panel = ObjectProperty() - _join_image = ObjectProperty() - - side_panel = ObjectProperty(None, allownone=True) - '''Automatically bound to whatever widget is added as the hidden panel.''' - main_panel = ObjectProperty(None, allownone=True) - '''Automatically bound to whatever widget is added as the main panel.''' - - # Appearance properties - side_panel_width = NumericProperty() - '''The width of the hidden side panel. Defaults to the minimum of - 250dp or half the NavigationDrawer width.''' - separator_image = StringProperty('') - '''The path to an image that will be placed between the side and main - panels. If set to `''`, defaults to a gradient from black to - transparent in an appropriate direction (left->right if side panel - above main, right->left if main panel on top).''' - separator_image_width = NumericProperty(dp(10)) - '''The width of the separator image. Defaults to 10dp''' - - # Touch properties - touch_accept_width = NumericProperty('14dp') - '''Distance from the left of the NavigationDrawer in which to grab the - touch and allow revealing of the hidden panel.''' - _touch = ObjectProperty(None, allownone=True) # The currently active touch - - # Animation properties - state = OptionProperty('closed', options=('open', 'closed')) - '''Specifies the state of the widget. Must be one of 'open' or - 'closed'. Setting its value automatically jumps to the relevant state, - or users may use the anim_to_state() method to animate the - transition.''' - anim_time = NumericProperty(0.3) - '''The time taken for the panel to slide to the open/closed state when - released or manually animated with anim_to_state.''' - min_dist_to_open = NumericProperty(0.7) - '''Must be between 0 and 1. Specifies the fraction of the hidden panel - width beyond which the NavigationDrawer will relax to open state when - released. Defaults to 0.7.''' - _anim_progress = NumericProperty(0) # Internal state controlling - # widget positions - _anim_init_progress = NumericProperty(0) - - # Animation controls - top_panel = OptionProperty('main', options=['main', 'side']) - '''Denotes which panel should be drawn on top of the other. Must be - one of 'main' or 'side'. Defaults to 'main'.''' - _main_above = BooleanProperty(True) - - side_panel_init_offset = NumericProperty(0.5) - '''Intial offset (to the left of the widget) of the side panel, in - units of its total width. Opening the panel moves it smoothly to its - final position at the left of the screen.''' - - side_panel_darkness = NumericProperty(0.8) - '''Controls the fade-to-black of the side panel in its hidden - state. Must be between 0 (no fading) and 1 (fades to totally - black).''' - - side_panel_opacity = NumericProperty(1) - '''Controls the opacity of the side panel in its hidden state. Must be - between 0 (fade to transparent) and 1 (no transparency)''' - - main_panel_final_offset = NumericProperty(1) - '''Final offset (to the right of the normal position) of the main - panel, in units of the side panel width.''' - - main_panel_darkness = NumericProperty(0) - '''Controls the fade-to-black of the main panel when the side panel is - in its hidden state. Must be between 0 (no fading) and 1 (fades to - totally black). - ''' - - opening_transition = StringProperty('out_cubic') - '''The name of the animation transition type to use when animating to - an open state. Defaults to 'out_cubic'.''' - - closing_transition = StringProperty('in_cubic') - '''The name of the animation transition type to use when animating to - a closed state. Defaults to 'out_cubic'.''' - - anim_type = OptionProperty('reveal_from_below', - options=['slide_above_anim', - 'slide_above_simple', - 'fade_in', - 'reveal_below_anim', - 'reveal_below_simple', - ]) - '''The default animation type to use. Several options are available, - modifying all possibly animation properties including darkness, - opacity, movement and draw height. Users may also (and are - encouaged to) edit these properties individually, for a vastly - larger range of possible animations. Defaults to reveal_below_anim. - ''' - - def __init__(self, **kwargs): - super(NavigationDrawer, self).__init__(**kwargs) - Clock.schedule_once(self.on__main_above, 0) - - def on_anim_type(self, *args): - anim_type = self.anim_type - if anim_type == 'slide_above_anim': - self.top_panel = 'side' - self.side_panel_darkness = 0 - self.side_panel_opacity = 1 - self.main_panel_final_offset = 0.5 - self.main_panel_darkness = 0.5 - self.side_panel_init_offset = 1 - if anim_type == 'slide_above_simple': - self.top_panel = 'side' - self.side_panel_darkness = 0 - self.side_panel_opacity = 1 - self.main_panel_final_offset = 0 - self.main_panel_darkness = 0 - self.side_panel_init_offset = 1 - elif anim_type == 'fade_in': - self.top_panel = 'side' - self.side_panel_darkness = 0 - self.side_panel_opacity = 0 - self.main_panel_final_offset = 0 - self.main_panel_darkness = 0 - self.side_panel_init_offset = 0.5 - elif anim_type == 'reveal_below_anim': - self.top_panel = 'main' - self.side_panel_darkness = 0.8 - self.side_panel_opacity = 1 - self.main_panel_final_offset = 1 - self.main_panel_darkness = 0 - self.side_panel_init_offset = 0.5 - elif anim_type == 'reveal_below_simple': - self.top_panel = 'main' - self.side_panel_darkness = 0 - self.side_panel_opacity = 1 - self.main_panel_final_offset = 1 - self.main_panel_darkness = 0 - self.side_panel_init_offset = 0 - - def on_top_panel(self, *args): - if self.top_panel == 'main': - self._main_above = True - else: - self._main_above = False - - def on__main_above(self, *args): - newval = self._main_above - main_panel = self._main_panel - side_panel = self._side_panel - self.canvas.remove(main_panel.canvas) - self.canvas.remove(side_panel.canvas) - if newval: - self.canvas.insert(0, main_panel.canvas) - self.canvas.insert(0, side_panel.canvas) - else: - self.canvas.insert(0, side_panel.canvas) - self.canvas.insert(0, main_panel.canvas) - - def toggle_main_above(self, *args): - if self._main_above: - self._main_above = False - else: - self._main_above = True - - def add_widget(self, widget): - if len(self.children) == 0: - super(NavigationDrawer, self).add_widget(widget) - self._side_panel = widget - elif len(self.children) == 1: - super(NavigationDrawer, self).add_widget(widget) - self._main_panel = widget - elif len(self.children) == 2: - super(NavigationDrawer, self).add_widget(widget) - self._join_image = widget - elif self.side_panel is None: - self._side_panel.add_widget(widget) - self.side_panel = widget - elif self.main_panel is None: - self._main_panel.add_widget(widget) - self.main_panel = widget - else: - raise NavigationDrawerException( - 'Can\'t add more than two widgets' - 'directly to NavigationDrawer') - - def remove_widget(self, widget): - if widget is self.side_panel: - self._side_panel.remove_widget(widget) - self.side_panel = None - elif widget is self.main_panel: - self._main_panel.remove_widget(widget) - self.main_panel = None - else: - raise NavigationDrawerException( - 'Widget is neither the side or main panel, can\'t remove it.') - - def set_side_panel(self, widget): - '''Removes any existing side panel widgets, and replaces them with the - argument `widget`. - ''' - # Clear existing side panel entries - if len(self._side_panel.children) > 0: - for child in self._side_panel.children: - self._side_panel.remove(child) - # Set new side panel - self._side_panel.add_widget(widget) - self.side_panel = widget - - def set_main_panel(self, widget): - '''Removes any existing main panel widgets, and replaces them with the - argument `widget`. - ''' - # Clear existing side panel entries - if len(self._main_panel.children) > 0: - for child in self._main_panel.children: - self._main_panel.remove_widget(child) - # Set new side panel - self._main_panel.add_widget(widget) - self.main_panel = widget - - def on__anim_progress(self, *args): - if self._anim_progress > 1: - self._anim_progress = 1 - elif self._anim_progress < 0: - self._anim_progress = 0 - if self._anim_progress >= 1: - self.state = 'open' - elif self._anim_progress <= 0: - self.state = 'closed' - - def on_state(self, *args): - Animation.cancel_all(self) - if self.state == 'open': - self._anim_progress = 1 - else: - self._anim_progress = 0 - - def anim_to_state(self, state): - '''If not already in state `state`, animates smoothly to it, taking - the time given by self.anim_time. State may be either 'open' - or 'closed'. - - ''' - if state == 'open': - anim = Animation(_anim_progress=1, - duration=self.anim_time, - t=self.closing_transition) - anim.start(self) - elif state == 'closed': - anim = Animation(_anim_progress=0, - duration=self.anim_time, - t=self.opening_transition) - anim.start(self) - else: - raise NavigationDrawerException( - 'Invalid state received, should be one of `open` or `closed`') - - def toggle_state(self, animate=True): - '''Toggles from open to closed or vice versa, optionally animating or - simply jumping.''' - if self.state == 'open': - if animate: - self.anim_to_state('closed') - else: - self.state = 'closed' - elif self.state == 'closed': - if animate: - self.anim_to_state('open') - else: - self.state = 'open' - - def on_touch_down(self, touch): - col_self = self.collide_point(*touch.pos) - col_side = self._side_panel.collide_point(*touch.pos) - col_main = self._main_panel.collide_point(*touch.pos) - - if self._anim_progress < 0.001: # i.e. closed - valid_region = (self.x <= - touch.x <= - (self.x + self.touch_accept_width)) - if not valid_region: - self._main_panel.on_touch_down(touch) - return False - else: - if col_side and not self._main_above: - self._side_panel.on_touch_down(touch) - return False - valid_region = (self._main_panel.x <= - touch.x <= - (self._main_panel.x + self._main_panel.width)) - if not valid_region: - if self._main_above: - if col_main: - self._main_panel.on_touch_down(touch) - elif col_side: - self._side_panel.on_touch_down(touch) - else: - if col_side: - self._side_panel.on_touch_down(touch) - elif col_main: - self._main_panel.on_touch_down(touch) - return False - Animation.cancel_all(self) - self._anim_init_progress = self._anim_progress - self._touch = touch - touch.ud['type'] = self.state - touch.ud['panels_jiggled'] = False # If user moved panels back - # and forth, don't default - # to close on touch release - touch.grab(self) - return True - - def on_touch_move(self, touch): - if touch is self._touch: - dx = touch.x - touch.ox - self._anim_progress = max(0, min(self._anim_init_progress + - (dx / self.side_panel_width), 1)) - if self._anim_progress < 0.975: - touch.ud['panels_jiggled'] = True - else: - super(NavigationDrawer, self).on_touch_move(touch) - return - - def on_touch_up(self, touch): - if touch is self._touch: - self._touch = None - init_state = touch.ud['type'] - touch.ungrab(self) - jiggled = touch.ud['panels_jiggled'] - if init_state == 'open' and not jiggled: - if self._anim_progress >= 0.975: - self.anim_to_state('closed') - else: - self._anim_relax() - else: - self._anim_relax() - else: - super(NavigationDrawer, self).on_touch_up(touch) - return - - def _anim_relax(self): - '''Animates to the open or closed position, depending on whether the - current position is past self.min_dist_to_open. - - ''' - if self._anim_progress > self.min_dist_to_open: - self.anim_to_state('open') - else: - self.anim_to_state('closed') - - def _choose_image(self, *args): - '''Chooses which image to display as the main/side separator, based on - _main_above.''' - if self.separator_image: - return self.separator_image - if self._main_above: - return 'navigationdrawer_gradient_rtol.png' - else: - return 'navigationdrawer_gradient_ltor.png' - -if __name__ == '__main__': - from kivy.base import runTouchApp - from kivy.uix.boxlayout import BoxLayout - from kivy.uix.label import Label - from kivy.uix.button import Button - from kivy.uix.popup import Popup - from kivy.uix.image import Image - from kivy.core.window import Window - - navigationdrawer = NavigationDrawer() - - side_panel = BoxLayout(orientation='vertical') - side_panel.add_widget(Label(text='Panel label')) - popup = Popup(title='Sidebar popup', - content=Label( - text='You clicked the sidebar\npopup button'), - size_hint=(0.7, 0.7)) - first_button = Button(text='Popup\nbutton') - first_button.bind(on_release=popup.open) - side_panel.add_widget(first_button) - side_panel.add_widget(Button(text='Another\nbutton')) - navigationdrawer.add_widget(side_panel) - - label_head = ( - '[b]Example label filling main panel[/b]\n\n[color=ff0000](p' - 'ull from left to right!)[/color]\n\nIn this example, the le' - 'ft panel is a simple boxlayout menu, and this main panel is' - ' a BoxLayout with a label and example image.\n\nSeveral pre' - 'set layouts are available (see buttons below), but users ma' - 'y edit every parameter for much more customisation.') - main_panel = BoxLayout(orientation='vertical') - label_bl = BoxLayout(orientation='horizontal') - label = Label(text=label_head, font_size='15sp', - markup=True, valign='top') - label_bl.add_widget(Widget(size_hint_x=None, width=dp(10))) - label_bl.add_widget(label) - label_bl.add_widget(Widget(size_hint_x=None, width=dp(10))) - main_panel.add_widget(Widget(size_hint_y=None, height=dp(10))) - main_panel.add_widget(label_bl) - main_panel.add_widget(Widget(size_hint_y=None, height=dp(10))) - navigationdrawer.add_widget(main_panel) - label.bind(size=label.setter('text_size')) - - def set_anim_type(name): - navigationdrawer.anim_type = name - - def set_transition(name): - navigationdrawer.opening_transition = name - navigationdrawer.closing_transition = name - - modes_layout = BoxLayout(orientation='horizontal') - modes_layout.add_widget(Label(text='preset\nanims:')) - slide_an = Button(text='slide_\nabove_\nanim') - slide_an.bind(on_press=lambda j: set_anim_type('slide_above_anim')) - slide_sim = Button(text='slide_\nabove_\nsimple') - slide_sim.bind(on_press=lambda j: set_anim_type('slide_above_simple')) - fade_in_button = Button(text='fade_in') - fade_in_button.bind(on_press=lambda j: set_anim_type('fade_in')) - reveal_button = Button(text='reveal_\nbelow_\nanim') - reveal_button.bind(on_press= - lambda j: set_anim_type('reveal_below_anim')) - slide_button = Button(text='reveal_\nbelow_\nsimple') - slide_button.bind(on_press= - lambda j: set_anim_type('reveal_below_simple')) - modes_layout.add_widget(slide_an) - modes_layout.add_widget(slide_sim) - modes_layout.add_widget(fade_in_button) - modes_layout.add_widget(reveal_button) - modes_layout.add_widget(slide_button) - main_panel.add_widget(modes_layout) - - transitions_layout = BoxLayout(orientation='horizontal') - transitions_layout.add_widget(Label(text='anim\ntransitions')) - out_cubic = Button(text='out_cubic') - out_cubic.bind(on_press= - lambda j: set_transition('out_cubic')) - in_quint = Button(text='in_quint') - in_quint.bind(on_press= - lambda j: set_transition('in_quint')) - linear = Button(text='linear') - linear.bind(on_press= - lambda j: set_transition('linear')) - out_sine = Button(text='out_sine') - out_sine.bind(on_press= - lambda j: set_transition('out_sine')) - transitions_layout.add_widget(out_cubic) - transitions_layout.add_widget(in_quint) - transitions_layout.add_widget(linear) - transitions_layout.add_widget(out_sine) - main_panel.add_widget(transitions_layout) - - button = Button(text='toggle NavigationDrawer state (animate)', - size_hint_y=0.2) - button.bind(on_press=lambda j: navigationdrawer.toggle_state()) - button2 = Button(text='toggle NavigationDrawer state (jump)', - size_hint_y=0.2) - button2.bind(on_press=lambda j: navigationdrawer.toggle_state(False)) - button3 = Button(text='toggle _main_above', size_hint_y=0.2) - button3.bind(on_press=navigationdrawer.toggle_main_above) - main_panel.add_widget(button) - main_panel.add_widget(button2) - main_panel.add_widget(button3) - - Window.add_widget(navigationdrawer) - - runTouchApp() From 0d0502ac9168aceae249354a73c3a28d91c0192f Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 11:09:24 +0200 Subject: [PATCH 06/21] Create _version.py --- kivy_garden/navigationdrawer/_version.py | 1 + 1 file changed, 1 insertion(+) create mode 100644 kivy_garden/navigationdrawer/_version.py diff --git a/kivy_garden/navigationdrawer/_version.py b/kivy_garden/navigationdrawer/_version.py new file mode 100644 index 0000000..899e700 --- /dev/null +++ b/kivy_garden/navigationdrawer/_version.py @@ -0,0 +1 @@ +__version__ = '1.0.0.dev0' From 6a1b05f459f0dbb78c5012d1f776192690b2cbcf Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 11:29:33 +0200 Subject: [PATCH 07/21] Create setup.py --- setup.py | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 setup.py diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..5bc4d19 --- /dev/null +++ b/setup.py @@ -0,0 +1,56 @@ +"""See README.md for package documentation.""" + +from setuptools import setup, find_namespace_packages + +from io import open +from os import path + +here = path.abspath(path.dirname(__file__)) + +filename = path.join(here, 'kivy_garden', 'navigationdrawer', '_version.py') +locals = {} +with open(filename, "rb") as fh: + exec(compile(fh.read(), filename, 'exec'), globals(), locals) +__version__ = locals['__version__'] + +with open(path.join(here, 'README.md'), encoding='utf-8') as f: + long_description = f.read() + +URL = 'https://github.com/vbaldereschi/navigationdrawer' + +setup( + name='kivy_garden.navigationdrawer', + version=__version__, + description='Android Side Panel like widget.', + long_description=long_description, + long_description_content_type='text/markdown', + url=URL, + author='Kivy', + author_email='kivy@kivy.org', + classifiers=[ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Topic :: Software Development :: Libraries', + 'License :: OSI Approved :: MIT License', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + ], + keywords='Kivy kivy-garden', + + packages=find_namespace_packages(include=['kivy_garden.*']), + install_requires=[], + extras_require={ + 'dev': ['pytest>=3.6', 'pytest-cov', 'pytest-asyncio', + 'sphinx_rtd_theme'], + 'ci': ['coveralls', 'pycodestyle'], + }, + package_data={}, + data_files=[], + entry_points={}, + project_urls={ + 'Bug Reports': URL + '/issues', + 'Source': URL, + }, +) From d54c56e3b34b8589559030fe8c657a9fa9b842da Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 11:31:56 +0200 Subject: [PATCH 08/21] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 0ff33d1..a7b477d 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,10 @@ the panel widgets. See the example and docstrings for information on individual properties. +# Install +```sh +pip install kivy_garden.filebrowser +``` # Example:: From 54e129a6a874b8a5e696683e02c83cdf92f201b4 Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 11:33:15 +0200 Subject: [PATCH 09/21] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a7b477d..028a861 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ See the example and docstrings for information on individual properties. # Install ```sh -pip install kivy_garden.filebrowser +pip install kivy-garden.navigationdrawer ``` # Example:: From fb72cb06d6dbb1e1ace1567aadb296658acbb759 Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 11:34:33 +0200 Subject: [PATCH 10/21] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 028a861..8da8dec 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ See the example and docstrings for information on individual properties. pip install kivy-garden.navigationdrawer ``` -# Example:: +# Example from kivy.app import App from kivy.base import runTouchApp From 242e12b37a94ee3d5cec39155b281dbcc4ed1fb5 Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 11:54:27 +0200 Subject: [PATCH 11/21] Create example.py --- examples/example.py | 83 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 examples/example.py diff --git a/examples/example.py b/examples/example.py new file mode 100644 index 0000000..00657c6 --- /dev/null +++ b/examples/example.py @@ -0,0 +1,83 @@ +from kivy.app import App +from kivy.base import runTouchApp +from kivy.uix.boxlayout import BoxLayout +from kivy.uix.label import Label +from kivy.uix.button import Button +from kivy.uix.image import Image +from kivy.uix.widget import Widget +from kivy.core.window import Window +from kivy.metrics import dp + +from kivy_garden.navigationdrawer import NavigationDrawer + +class ExampleApp(App): + + def build(self): + navigationdrawer = NavigationDrawer() + + side_panel = BoxLayout(orientation='vertical') + side_panel.add_widget(Label(text='Panel label')) + side_panel.add_widget(Button(text='A button')) + side_panel.add_widget(Button(text='Another button')) + navigationdrawer.add_widget(side_panel) + + label_head = ( + '[b]Example label filling main panel[/b]\n\n[color=ff0000](p' + 'ull from left to right!)[/color]\n\nIn this example, the le' + 'ft panel is a simple boxlayout menu, and this main panel is' + ' a BoxLayout with a label and example image.\n\nSeveral pre' + 'set layouts are available (see buttons below), but users ma' + 'y edit every parameter for much more customisation.') + main_panel = BoxLayout(orientation='vertical') + label_bl = BoxLayout(orientation='horizontal') + label = Label(text=label_head, font_size='15sp', + markup=True, valign='top') + label_bl.add_widget(Widget(size_hint_x=None, width=dp(10))) + label_bl.add_widget(label) + label_bl.add_widget(Widget(size_hint_x=None, width=dp(10))) + main_panel.add_widget(Widget(size_hint_y=None, height=dp(10))) + main_panel.add_widget(label_bl) + main_panel.add_widget(Widget(size_hint_y=None, height=dp(10))) + main_panel.add_widget(Image(source='red_pixel.png', allow_stretch=True, + keep_ratio=False, size_hint_y=0.2)) + navigationdrawer.add_widget(main_panel) + label.bind(size=label.setter('text_size')) + + def set_anim_type(name): + navigationdrawer.anim_type = name + modes_layout = BoxLayout(orientation='horizontal') + modes_layout.add_widget(Label(text='preset\nanims:')) + slide_an = Button(text='slide_\nabove_\nanim') + slide_an.bind(on_press=lambda j: set_anim_type('slide_above_anim')) + slide_sim = Button(text='slide_\nabove_\nsimple') + slide_sim.bind(on_press=lambda j: set_anim_type('slide_above_simple')) + fade_in_button = Button(text='fade_in') + fade_in_button.bind(on_press=lambda j: set_anim_type('fade_in')) + reveal_button = Button(text='reveal_\nbelow_\nanim') + reveal_button.bind(on_press= + lambda j: set_anim_type('reveal_below_anim')) + slide_button = Button(text='reveal_\nbelow_\nsimple') + slide_button.bind(on_press= + lambda j: set_anim_type('reveal_below_simple')) + modes_layout.add_widget(slide_an) + modes_layout.add_widget(slide_sim) + modes_layout.add_widget(fade_in_button) + modes_layout.add_widget(reveal_button) + modes_layout.add_widget(slide_button) + main_panel.add_widget(modes_layout) + + button = Button(text='toggle NavigationDrawer state (animate)', + size_hint_y=0.2) + button.bind(on_press=lambda j: navigationdrawer.toggle_state()) + button2 = Button(text='toggle NavigationDrawer state (jump)', + size_hint_y=0.2) + button2.bind(on_press=lambda j: navigationdrawer.toggle_state(False)) + button3 = Button(text='toggle _main_above', size_hint_y=0.2) + button3.bind(on_press=navigationdrawer.toggle_main_above) + main_panel.add_widget(button) + main_panel.add_widget(button2) + main_panel.add_widget(button3) + + return navigationdrawer + +ExampleApp().run() From b4044597ebd391833b3cac49103a3ff5bcfa863d Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 14:33:58 +0200 Subject: [PATCH 12/21] Add files via upload --- examples/navigationdrawer_closed.png | Bin 0 -> 27528 bytes examples/navigationdrawer_open_example1.png | Bin 0 -> 24303 bytes examples/navigationdrawer_open_example2.png | Bin 0 -> 24768 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 examples/navigationdrawer_closed.png create mode 100644 examples/navigationdrawer_open_example1.png create mode 100644 examples/navigationdrawer_open_example2.png diff --git a/examples/navigationdrawer_closed.png b/examples/navigationdrawer_closed.png new file mode 100644 index 0000000000000000000000000000000000000000..3b979aec2b27d59f30e9105da9a0ab625f1de5d9 GIT binary patch literal 27528 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 bzlr9V!^v+}39rMWwFop+buT|vwhsRfc5@e| literal 0 HcmV?d00001 diff --git a/examples/navigationdrawer_open_example1.png b/examples/navigationdrawer_open_example1.png new file mode 100644 index 0000000000000000000000000000000000000000..46b7da64bd3763b6048f6c301b1b331b794aee7b GIT binary patch literal 24303 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

02!@ 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 MT85g>QRwjh0Opq;O#lD@ literal 0 HcmV?d00001 From 1713af1c7221c3272726811926df00628b24d007 Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 14:34:15 +0200 Subject: [PATCH 13/21] Delete navigationdrawer_open_example2.png --- navigationdrawer_open_example2.png | Bin 24768 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 navigationdrawer_open_example2.png diff --git a/navigationdrawer_open_example2.png b/navigationdrawer_open_example2.png deleted file mode 100644 index 78656072773a1b5dd00d5cbfb401a30427a80b64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24768 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 MT85g>QRwjh0Opq;O#lD@ From 3364b5410c42628cca37380736a869ff274dab73 Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 14:34:25 +0200 Subject: [PATCH 14/21] Delete navigationdrawer_open_example1.png --- navigationdrawer_open_example1.png | Bin 24303 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 navigationdrawer_open_example1.png diff --git a/navigationdrawer_open_example1.png b/navigationdrawer_open_example1.png deleted file mode 100644 index 46b7da64bd3763b6048f6c301b1b331b794aee7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24303 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

Date: Tue, 4 Apr 2023 14:34:41 +0200 Subject: [PATCH 15/21] Delete navigationdrawer_closed.png --- navigationdrawer_closed.png | Bin 27528 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 navigationdrawer_closed.png diff --git a/navigationdrawer_closed.png b/navigationdrawer_closed.png deleted file mode 100644 index 3b979aec2b27d59f30e9105da9a0ab625f1de5d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27528 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 bzlr9V!^v+}39rMWwFop+buT|vwhsRfc5@e| From 2c007dae27408b6f6d851575d6b87a5ae1c4e999 Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 14:34:58 +0200 Subject: [PATCH 16/21] Add files via upload --- .../navigationdrawer_gradient_ltor.png | Bin 0 -> 879 bytes .../navigationdrawer_gradient_rtol.png | Bin 0 -> 874 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 kivy_garden/navigationdrawer/navigationdrawer_gradient_ltor.png create mode 100644 kivy_garden/navigationdrawer/navigationdrawer_gradient_rtol.png diff --git a/kivy_garden/navigationdrawer/navigationdrawer_gradient_ltor.png b/kivy_garden/navigationdrawer/navigationdrawer_gradient_ltor.png new file mode 100644 index 0000000000000000000000000000000000000000..6a4b832c4f36f50e23f9b28abdaf4d92f0f90225 GIT binary patch literal 879 zcmV-#1CacQP)~Z03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00PrVL_t(&-ql)1a>FnT zr$L6l^j30wPTs{tIaIyygdRnDXX|+3SF`t8<=|rd%jkd4#ruALdmD7e z6FE5f&c*+~pT95muGU@g%f-j$wdT)Wb<@?Oh(R(8O_9xCnW z^B6r3Z%P|C;fX=s&}74iTrAQh7rJ23PB7{O8+20{ZxsE32OYq$A4y=G`9Sy&Mp{_V zqR11(cwnMTTM|eos6z}AHU(rRUo7Cy!~Ye4cy+*_KQI6Ys%~c>07sB3NiYgHFzoZh zp_;6j0LBRFrlZ*9BED67bD>AC{YyI#j-E>Qjt>f)D5J7DerKajJe3YN*oH|qigasC z=2-;*YXYKZ@2H)WD!dBVRUVMg{bm-)Y5`0EPf`;|6#!HNTSj7FLa=0aC>^5>1OTDS zo=ns$l6X`DQk6kXPAIZ>G@*E6l|lbt5YsZcCW`)}b}tOt(X5k>5mt5Q($y8AK~Hy+ zS+S$%j3h(Won0}V>&^fJg)&>uTPn|G&MIeQRKdaGV@H9Z6bR!)Pe|s`ZRA3 z@6_3JSKVyj0|v+LEF7wWR|OQD1hr?};{|VsGQ-FZMr=$)(Vwhye#Ks^ZVX~a;kC!^ zI8ZN^l#H;vK;@~Hs^-?6H?}HAQn-PGT3TffC{`YtS5)0JbQF=BVo|@n0tBU_RBvTP zF9LKF6ilRbML+vuh>8cIi-w>Z1bloOHa`-TT~%FoC!o91+@YV<;q7XMjej7oGIsGM z9rapoG^W&Rpc&vBxjGu*B{TW1ZWekgdCNL(^bfb4egG^hP#%`~7)$^F002ovPDHLk FV1jgNfEWM( literal 0 HcmV?d00001 diff --git a/kivy_garden/navigationdrawer/navigationdrawer_gradient_rtol.png b/kivy_garden/navigationdrawer/navigationdrawer_gradient_rtol.png new file mode 100644 index 0000000000000000000000000000000000000000..664e5fab824034988c3c1c41e8ad8b35bb02e56b GIT binary patch literal 874 zcmV-w1C{)VP)WFU8GbZ8()Nlj2>E@cM*00PcQL_t(&-ql)3j>Iqs z1otxke{s#JrB)Oh$}CCy7KO0806QuoL%5}jXZ_-*B7&3mGd>>PE853`pAvFD&$=mh zrt@&vtP{GGewL2I&`U{QKNjy-bk;YP%`ayz4QGD6Cp5?Pbmr{ak=fOk|y{D zH?X5iCuxcyT|goQ;Mg@YAZcwzIOscqqU86UPTrD(AgHmML<8|>d;^l7m77X5A6}i< zh64e=d%ySO4gxk+?IkN`5%60T0C(%v5tp(8;sFF~1fbfvOc&_s=2`lRNp6+ndm zAVj)-1Z>Fcs*y;mMY)rCGEkM=Xp& z=8DEef}3?`V<{O!ka7?N95et+)CLp*L`A%#I#+k{Rd#5DZ#ox+CnG2*GlQ|rXUFx7M09Fn;XQD1mqqQ zM?F}6BXP0+LRp2pgISWJ6XyfVS1 z>lhYfygNE&kN_F=dlj%}oH*QVm0Y4*24|0;(ck*iDc8E#jevd@2u8tI6BAhpK)5PD zRD74{I{=PG0LVIWW$w_fJc`yI<{907*qoM6N<$f}pW? A>Hq)$ literal 0 HcmV?d00001 From be43b9d9fd85129b6b294045d2fa37d6cd95544b Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 14:35:12 +0200 Subject: [PATCH 17/21] Delete navigationdrawer_gradient_rtol.png --- navigationdrawer_gradient_rtol.png | Bin 874 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 navigationdrawer_gradient_rtol.png diff --git a/navigationdrawer_gradient_rtol.png b/navigationdrawer_gradient_rtol.png deleted file mode 100644 index 664e5fab824034988c3c1c41e8ad8b35bb02e56b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 874 zcmV-w1C{)VP)WFU8GbZ8()Nlj2>E@cM*00PcQL_t(&-ql)3j>Iqs z1otxke{s#JrB)Oh$}CCy7KO0806QuoL%5}jXZ_-*B7&3mGd>>PE853`pAvFD&$=mh zrt@&vtP{GGewL2I&`U{QKNjy-bk;YP%`ayz4QGD6Cp5?Pbmr{ak=fOk|y{D zH?X5iCuxcyT|goQ;Mg@YAZcwzIOscqqU86UPTrD(AgHmML<8|>d;^l7m77X5A6}i< zh64e=d%ySO4gxk+?IkN`5%60T0C(%v5tp(8;sFF~1fbfvOc&_s=2`lRNp6+ndm zAVj)-1Z>Fcs*y;mMY)rCGEkM=Xp& z=8DEef}3?`V<{O!ka7?N95et+)CLp*L`A%#I#+k{Rd#5DZ#ox+CnG2*GlQ|rXUFx7M09Fn;XQD1mqqQ zM?F}6BXP0+LRp2pgISWJ6XyfVS1 z>lhYfygNE&kN_F=dlj%}oH*QVm0Y4*24|0;(ck*iDc8E#jevd@2u8tI6BAhpK)5PD zRD74{I{=PG0LVIWW$w_fJc`yI<{907*qoM6N<$f}pW? A>Hq)$ From 7ce003bcd89af7fa60e0382e784bbc8a63073936 Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 14:35:20 +0200 Subject: [PATCH 18/21] Delete navigationdrawer_gradient_ltor.png --- navigationdrawer_gradient_ltor.png | Bin 879 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 navigationdrawer_gradient_ltor.png diff --git a/navigationdrawer_gradient_ltor.png b/navigationdrawer_gradient_ltor.png deleted file mode 100644 index 6a4b832c4f36f50e23f9b28abdaf4d92f0f90225..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 879 zcmV-#1CacQP)~Z03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00PrVL_t(&-ql)1a>FnT zr$L6l^j30wPTs{tIaIyygdRnDXX|+3SF`t8<=|rd%jkd4#ruALdmD7e z6FE5f&c*+~pT95muGU@g%f-j$wdT)Wb<@?Oh(R(8O_9xCnW z^B6r3Z%P|C;fX=s&}74iTrAQh7rJ23PB7{O8+20{ZxsE32OYq$A4y=G`9Sy&Mp{_V zqR11(cwnMTTM|eos6z}AHU(rRUo7Cy!~Ye4cy+*_KQI6Ys%~c>07sB3NiYgHFzoZh zp_;6j0LBRFrlZ*9BED67bD>AC{YyI#j-E>Qjt>f)D5J7DerKajJe3YN*oH|qigasC z=2-;*YXYKZ@2H)WD!dBVRUVMg{bm-)Y5`0EPf`;|6#!HNTSj7FLa=0aC>^5>1OTDS zo=ns$l6X`DQk6kXPAIZ>G@*E6l|lbt5YsZcCW`)}b}tOt(X5k>5mt5Q($y8AK~Hy+ zS+S$%j3h(Won0}V>&^fJg)&>uTPn|G&MIeQRKdaGV@H9Z6bR!)Pe|s`ZRA3 z@6_3JSKVyj0|v+LEF7wWR|OQD1hr?};{|VsGQ-FZMr=$)(Vwhye#Ks^ZVX~a;kC!^ zI8ZN^l#H;vK;@~Hs^-?6H?}HAQn-PGT3TffC{`YtS5)0JbQF=BVo|@n0tBU_RBvTP zF9LKF6ilRbML+vuh>8cIi-w>Z1bloOHa`-TT~%FoC!o91+@YV<;q7XMjej7oGIsGM z9rapoG^W&Rpc&vBxjGu*B{TW1ZWekgdCNL(^bfb4egG^hP#%`~7)$^F002ovPDHLk FV1jgNfEWM( From 5878a3d59ca7ad034c6e7af0a0c1e87c59a97b17 Mon Sep 17 00:00:00 2001 From: vbaldereschi <128135941+vbaldereschi@users.noreply.github.com> Date: Tue, 4 Apr 2023 14:35:40 +0200 Subject: [PATCH 19/21] Delete screenshot.png --- screenshot.png | Bin 5807 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 screenshot.png diff --git a/screenshot.png b/screenshot.png deleted file mode 100644 index 0ee724a7e942b858a7e6532108bf3f1d07eff4b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5807 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 Date: Tue, 4 Apr 2023 14:35:56 +0200 Subject: [PATCH 20/21] Add files via upload --- examples/screenshot.png | Bin 0 -> 5807 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 examples/screenshot.png diff --git a/examples/screenshot.png b/examples/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..0ee724a7e942b858a7e6532108bf3f1d07eff4b9 GIT binary patch literal 5807 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 Date: Tue, 4 Apr 2023 14:36:38 +0200 Subject: [PATCH 21/21] Update _version.py --- kivy_garden/navigationdrawer/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kivy_garden/navigationdrawer/_version.py b/kivy_garden/navigationdrawer/_version.py index 899e700..cd7ca49 100644 --- a/kivy_garden/navigationdrawer/_version.py +++ b/kivy_garden/navigationdrawer/_version.py @@ -1 +1 @@ -__version__ = '1.0.0.dev0' +__version__ = '1.0.1'