Menus

#There are several kinds of menus in PyS60:
#The application's menu, triggered by pressing the left softkey
#A popup menu somewhat similar in aspect to the application's menu


#Selection lists, which can be simple or multiple and have the ability to search for items; useful if you have many items to put in the list

import appuifw, e32


#Define the exit function
def quit():
    app_lock.signal()
appuifw.app.exit_key_handler=quit

def callback_A():print "A"
def callback_B():print "B"
def callback_C():print "C"
def callback_D():print "D"

#The application's menu
appuifw.app.menu=[(u"Item_A", callback_A), (u"Item_B", ((u"Item_C", callback_C), (u"Item_D", callback_D)))]
#Here we can select Item_A, or select Item_B in which case a list with Item_C and Item_D is shown
#callback_A etc. are methods that have to be defined prior to setting the menu

#Popup menu
i=appuifw.popup_menu([u"Item1", u"Item2"])
#Stores the index of the selected option in the variable i; 0 for Item1, 1 for Item2 etc.

#Simple selection list
i=appuifw.selection_list([u"Item1", u"Item2"])

#Multiselection list
i=appuifw.multi_selection_list([u"Item1", u"Item2"], style='checkbox', search_field=1)
#Shows a list from which you can select multiple items, selected ones being marked; here you can also enable a search field

app_lock=e32.Ao_lock()
app_lock.wait()