Mercurial > libervia-desktop-kivy
view src/libs/garden/garden.contextmenu/examples/simple_app_menu.py @ 97:5d2289127bb7
menu (upload): better menu using dedicated widget:
upload menu now use a decicated widget instead of context menu.
The menu take half the size of the main window, and show each upload option as an icon. Use can select upload or P2P sending, and a short text message explains how the file will be transmitted.
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 29 Dec 2016 23:47:07 +0100 |
parents | 741a7d6d8c28 |
children | c439c271ecdd |
line wrap: on
line source
import kivy from kivy.app import App from kivy.lang import Builder from kivy.logger import Logger import logging kivy.require('1.9.0') # Logger.setLevel(logging.DEBUG) import kivy.garden.contextmenu kv = """ FloatLayout: id: layout AppMenu: id: app_menu top: root.height cancel_handler_widget: layout AppMenuTextItem: text: "Menu #1" ContextMenu: ContextMenuTextItem: text: "Item #11" ContextMenuTextItem: text: "Item #12" AppMenuTextItem: text: "Menu Menu Menu #2" ContextMenu: ContextMenuTextItem: text: "Item #21" ContextMenuTextItem: text: "Item #22" ContextMenuTextItem: text: "ItemItemItem #23" ContextMenuTextItem: text: "Item #24" ContextMenu: ContextMenuTextItem: text: "Item #241" ContextMenuTextItem: text: "Hello, World!" on_release: app.say_hello(self.text) ContextMenuTextItem: text: "Item #243" ContextMenuTextItem: text: "Item #244" ContextMenuTextItem: text: "Item #5" AppMenuTextItem: text: "Menu Menu #3" ContextMenu: ContextMenuTextItem: text: "SubMenu #31" ContextMenuTextItem: text: "SubMenu #32" ContextMenuTextItem: text: "SubMenu #33" ContextMenuDivider: ContextMenuTextItem: text: "SubMenu #34" AppMenuTextItem: text: "Menu #4" Label: pos: 10, 10 text: "Left click anywhere outside the context menu to close it" size_hint: None, None size: self.texture_size """ class MyApp(App): def build(self): self.title = 'Simple app menu example' return Builder.load_string(kv) def say_hello(self, text): print(text) self.root.ids['app_menu'].close_all() if __name__ == '__main__': MyApp().run()