generated from kivy-garden/flower
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Let's say we take the example in the README.md and we write it in Python (without kv language).
Two issues:
- contextmenu stays when you click outside the contextmenu (for example, on the button)
What I should be expected: it would be hidden when you click something that is not part of the menu. - on touch system doesn't stop at the contextmenu (the button gets triggered as well).
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.garden.contextmenu import AppMenu, AppMenuTextItem, ContextMenu, ContextMenuTextItem
class Test(BoxLayout):
def __init__(self, **kwargs):
super(Test, self).__init__(**kwargs)
layout = BoxLayout(orientation='vertical')
app_menu = AppMenu(size_hint=(1, None), height=30)
menu_item_1 = AppMenuTextItem(text="Menu kivy-garden/garden.contextmenu#1")
menu_item_2 = AppMenuTextItem(text="Menu Menu Menu kivy-garden/garden.contextmenu#2")
menu_item_3 = AppMenuTextItem(text="Menu Menu kivy-garden/garden.contextmenu#3")
menu_item_4 = AppMenuTextItem(text="Menu kivy-garden/garden.contextmenu#4")
app_menu.add_widget(menu_item_1)
app_menu.add_widget(menu_item_2)
app_menu.add_widget(menu_item_3)
app_menu.add_widget(menu_item_4)
context_menu_1 = ContextMenu()
item_11 = ContextMenuTextItem(text="Item kivy-garden/garden.contextmenu#11")
item_12 = ContextMenuTextItem(text="Item kivy-garden/garden.contextmenu#12")
context_menu_2 = ContextMenu()
item_21 = ContextMenuTextItem(text="Item #21")
item_22 = ContextMenuTextItem(text="Item #22")
item_23 = ContextMenuTextItem(text="ItemItemItem #23")
item_24 = ContextMenuTextItem(text="Item #24")
context_menu_3 = ContextMenu()
item_241 = ContextMenuTextItem(text="Item #241")
item_hel = ContextMenuTextItem(text="Hello, World!")
item_005 = ContextMenuTextItem(text="Item kivy-garden/contextmenu#2")
context_menu_1.add_widget(item_11)
context_menu_1.add_widget(item_12)
context_menu_2.add_widget(item_21)
context_menu_2.add_widget(item_22)
context_menu_2.add_widget(item_23)
context_menu_2.add_widget(item_24)
context_menu_3.add_widget(item_241)
context_menu_3.add_widget(item_hel)
context_menu_3.add_widget(item_005)
menu_item_1.add_widget(context_menu_1)
menu_item_2.add_widget(context_menu_2)
menu_item_3.add_widget(context_menu_3)
context_menu_1._on_visible(False)
context_menu_2._on_visible(False)
context_menu_3._on_visible(False)
layout.add_widget(app_menu)
button = Button(text="Button")
layout.add_widget(button)
layout.canvas.remove(button.canvas)
layout.canvas.insert(0,button.canvas)
self.add_widget(layout)
class TestApp(App):
def build(self):
return Test()
if __name__ == "__main__":
app = TestApp()
app.run()Maybe we could take inspiration from NavigationDrawer to improve this garden repository. It could involve some changes.
We will appreciate any suggestions.
Thanks.
Metadata
Metadata
Assignees
Labels
No labels