×
Namespaces

Variants
Actions
Revision as of 04:05, 31 May 2013 by hamishwillee (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Archived:Menus dinâmicos em PySymbian

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngAquivado: Este artigo foi arquivado, pois o conteúdo não é mais considerado relevante para se criar soluções comerciais atuais. Se você achar que este artigo ainda é importante, inclua o template {{ForArchiveReview|escreva a sua justificativa}}.

Acredita-se que este artigo ainda seja válido no contexto original (quando ele foi escrito)


Article Metadata

Testado com
Aparelho(s): Nokia N95, Nokia E90

Compatibilidade
Plataforma(s): S60 1st Edition, S60 2nd Edition, S60 3rd Edition

Artigo
Palavras-chave: UI
Tradução:
Por ivocalado
Última alteração feita por hamishwillee em 31 May 2013

Visão geral

O código abaixo mostra um método que pode ser usado para alterar menus automaticamente em PySymbian, dependendo de algumas condições definidas na sua aplicação.

Code Snippet

Class Application:
 
def UpdateMenu(self):
 
def HasWaypoints():
return len(self.waypoints) > 0
 
def HasTracks():
return len(self.tracks) > 0
 
def HasOpenTracks():
return len(self.opentracks) > 0
 
def HasMaps():
return len(self.maps) > 0
 
def CreateMenu(items):
menu = []
for i in items:
if i[0]():
menu.append((i[1],i[2]))
if len(menu) > 0:
return tuple(menu)
else:
return None
 
items = [
( HasMaps, u'Open Map', self.OpenMap ),
( HasWaypoints, u'Monitor Waypoint', self.MonitorWaypoint ),
( HasTracks, u'Open Track', self.OpenTrack ),
( HasOpenTracks, u'Close Track', self.CloseTrack ),
]
 
menu = [
(u'About', self.About),
) ]
 
dyn_menu = CreateMenu(items)
if dyn_menu != None:
menu.append( (u'GPS', dyn_menu) )
 
appuifw.app.menu = menu
 
def CloseOpenTracks():
self.opentracks = []
self.UpdateMenu()

Nota

Agora, sempre que a precondição for alterada na aplicação, você pode chamar UpdateMenu, e o menu é alterado de acordo, da mesma forma que foi demostrado no método CloseOpenTracks.

This page was last modified on 31 May 2013, at 04:05.
172 page views in the last 30 days.