Skip to main content

Python Appuifw Module examples - Python Programming

Appuifw Module examples

MultiQuery Input Example

import appuifw

data1,data2 = appuifw.multi_query(u"Type your name:",u"Type your number:")

print data1
print data2

Selectionlist Example

import appuifw

# define the list of items (items must written in unicode! -> put a u in front)
L = [u'Table', u'Chair', u'computer', u'Mobile', u'pen', u'screen', u'camera', u'Homekeys']

# create the selection list
index = appuifw.selection_list(choices=L , search_field=1)

if index == 0:
 print "Table was selected"
else:
 print "Better Luck next time"

Multiselection Example

import appuifw

L = [u'Table', u'Chair', u'computer', u'Mobile', u'pen', u'screen', u'camera', u'Homekeys']

index = appuifw.multi_selection_list(L , style='checkbox', search_field=1)

Lnew = index
print Lnew
 

Screen Examples

import appuifw
import e32

def exit_key_handler():
 app_lock.signal()


round = appuifw.Text()
round.set(u'hello')

# put the application screen size to full screen
appuifw.app.screen='full' #(a full screen)

# other options:
#appuifw.app.screen='normal' #(a normal screen with title pane and softkeys)
#appuifw.app.screen='large' #(only softkeys visible)

app_lock = e32.Ao_lock()

appuifw.app.body = round

appuifw.app.exit_key_handler = exit_key_handler
app_lock.wait()
 

Create Menu Example

import appuifw
import e32

def exit_key_handler():
 app_lock.signal()
 

def item1():
 print ""
 round.set(u'1st item was selected')

def subitem1():
 print ""
 round.set(u'Now first subitem was selected')

def subitem2():
 round.set(u'Second subitem was selected')


app_lock = e32.Ao_lock()
round = appuifw.Text()
round.set(u'press options')
appuifw.app.screen='large'
appuifw.app.body = round

###### create the application menu including submenus###
appuifw.app.menu = [(u"item 1", item1),
 (u"Submenu 1", ((u"sub item 1", subitem1),
 (u"sub item 2", subitem2)))]


appuifw.app.exit_key_handler = exit_key_handler
app_lock.wait()

Create Listbox Example

 
import appuifw
import e32

def exit_key_handler():
 app_lock.signal()

# define a callback function
def shout():
 index = lb.current()
 print index
 print entries[index]

# create your content list of your listbox including the icons to be used for each entry
entries = [u"Signal",u"Battery"]
lb = appuifw.Listbox(entries,shout)

# create an Active Object
app_lock = e32.Ao_lock()

# create an instance of appuifw.Listbox(), include the content list "entries" and the callback function "shout"
# and set the instance of Listbox now as the application body
appuifw.app.body = lb


appuifw.app.exit_key_handler = exit_key_handler
app_lock.wait()

Form Example

 
import appuifw
import e32

# create an Active Object
app_lock = e32.Ao_lock()


def forming():
 # create a list to be used in 'combo' selection mode
 model = [u'6680', u'6670', u'7610', u'N95', u'N73']
 
 # define the field list (consists of tuples: (label, type ,value)); label is a unicode string
 # type is one of the following strings: 'text', 'number', 'date', 'time',or 'combo'
 data = [(u'Mobile','text', u'Nokia'),(u'Model','combo', (model,0)),(u'Amount','number', 5),(u'Date','date'),(u'Time','time')]

 # set the view/edit mode of the form 
 flags = appuifw.FFormEditModeOnly

 # creates the form
 f = appuifw.Form(data, flags)
 
 # make the form visible on the UI
 f.execute()

def exit_key_handler():
 app_lock.signal()
 
# set the title of the script
appuifw.app.title = u'Form'

# call the function that creates the form
forming()

appuifw.app.exit_key_handler = exit_key_handler
app_lock.wait()

Create Tabs

 # This script creates tabs that let you switch between different applications
# lb app, lb app and draw app
import appuifw
import e32
from graphics import *
  # define application 1: listobx app

# create your icons for the lb content 
icon1 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 28, 29) 
icon2 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 40, 41)
icon3 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 30, 31)
icon4 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 32, 33)
icon5 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 34, 35)
icon6 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 36, 37)
icon7 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 38, 39)

# create your content list of your lb including the icons to be used for each entry
entries = [(u"Signal", icon1),
           (u"Battery", icon2),
           (u"Sirene", icon3),
           (u"Waste", icon4),
           (u"Helicopter", icon5),
           (u"Train", icon6),
           (u"Auto", icon7)]

# create the lb callback handler
def handler():
    print "done"
 # create an instance of appuifw.Lb(), include the content list "entries" and the callback function "handler"
app1 = appuifw.Lb(entries,handler)

# define application 2: lb app
 # define the list of items as pop-up menu content
L2 = [u"Stefan", u"Holger", u"Emil", u"Ludger"]

# create the lb callback handler
def handler_L2():
    print "ola"
 # create the pop-up menu
app2 = appuifw.Lb(L2, handler_L2)
 # define application 3: draw application

def app_3():
    global draw
    img=Image.new((176,208))
    img.line((20,20,20,120),0xff00ee)
    img.rectangle((40,60,50,80),0xff0000)
    img.point((50.,150.),0xff0000,width=40)
    img.ellipse((100,150,150,180),0x0000ff)
    img.text((100,80), u'hello')
  # define your redraw function (still belonging to app 3)
    def handle_redraw(rect):
 #global draw
        draw.blit(img)
 # define the draw, include the redraw callback function
    draw =appuifw.Draw(event_callback=None, redraw_callback=handle_redraw)
    appuifw.app.body = draw
 def exit_key_handler():
    app_lock.signal()
 # create a tab handler that switches the application based on what tab is selected
def handle_tab(index):
    global lb
    if index == 0:
        appuifw.app.body = app1 # switch to application 1
    if index == 1:
        appuifw.app.body = app2 # switch to application 2
    if index == 2:
        app_3() # switch to application 3
 # create an Active Object
app_lock = e32.Ao_lock()
 # create the tabs with its names in unicode as a list, include the tab handler
appuifw.app.set_tabs([u"One", u"Two", u"Three"],handle_tab)
 
# set the title of the script
appuifw.app.title = u'Tabs advanced'

# set app.body to app1 (for start of script)
appuifw.app.body = app1
appuifw.app.exit_key_handler = exit_key_handler
app_lock.wait()

Write the data of appuifw.Text() into a file

 
import e32, appuifw
 
def __exit__( ):
 APP_LOCK.signal( )
 
def doSave( ):
 try:
 f = open( 'c:\\yourFile.txt', 'wb' )
 yourText = appuifw.app.body.get( )
 f.write( yourText.encode("utf-8") )
 f.close
 appuifw.note( u'Saved :)', 'conf' )
 
 except IOError, e:
 appuifw.note( u'Wrong file path!', 'error' )
 
 except UnicodeError, e:
 appuifw.note( unicode( e ), 'error' )
 
 
if __name__ == "__main__":
 APP_LOCK = e32.Ao_lock( )
 appuifw.app.title = u'Text to file'
 appuifw.app.exit_key_handler = __exit__
 appuifw.app.body = appuifw.Text()
 appuifw.app.menu = [( u'Save', doSave ),
 ( u'Exit', __exit__ )]
 APP_LOCK.wait( )

Comments