GSMWORLD.it...viaggio nel mondo del GSM... GSMWORLD.it

Tutorial WML

 

Lezione 7.
TEMPLATE e TIMER

TEMPLATE
Nonostante il linguaggio WML sembri molto scarno e semplice consente di realizzare anche una sorta di ereditarietà dei metodi tra deck e card, i cosidetti Template. E' possibile infatti definire e specificare un metodo sia singolarmente per ogni card, sia globalmente condivisibile per tutte le card presenti nel deck risparmiando così di copiare lo stesso codice in più parti del deck. Nel caso in cui lo stesso metodo sia definito anche in una card con parametri diversi, in questo caso la card ha la precedenza ed il metodo verrà riscritto. Sono specificabili e disponibili per il tag "template" gli stessi attributi già visti per il tag card (ontimer, onenterforward, onenterbackward).

Supponiamo di voler disporre in tutte le card del deck di un pulsante "indietro" che rimandi indietro all'ultima card visitata, ecco come potremmo definire il TEMPLATE:

<template>
   <do type="prev" name="back" label="Back">
      <prev/>
   </do>
</template>

Potrebbe però non essere necessario avere lo stesso metodo impostato in tutte le card, ad esempio la possibilità di tornare indietro (back) su una lista di card concatenate ha senso solo dalla seconda in poi. Come fare allora per eliminare il tasto Back dalla prima? Occorre sovrascrivere il metodo nella card che ci interessa, nel nostro esempio sarebbe sufficiente specificare un'azione "noop" corrispondente alla softkey "back".

Nell'esempio che segue viene definito un TEMPLATE per il tasto 'Back'. La "card2" avrà quindi la soft-key 'Back' presente, mentre la "card1" no poiché il metodo 'Back' é sovrascritto nella card utilizzando il tag "noop".

<wml>
<template>
   <do type="prev" name="Back" label="Back">
      <prev/>
   </do>
</template>
<card id="card1">
   <do type="prev" name="Back">
      <noop/>
   </do>
   ...
</card>
<card id="card2">
   ...
</card>
<wml>

TIMER
Il tag "Timer" permette di gestire i momenti di inattività. Quando si entra in una card il timer viene inizializzato, se l'utente non é ancora "uscito" dalla card al momento del suo scadere viene scatenata l'azione preimpostata e specificata nell'attributo "ontimer" della card stessa. I timer sono indicati in decimi di secondo ed é possibile specificare al massimo un timer per ciascuna card.

<timer name="nome_timer" value="valore"/>

Attributi principali
name Specifica il nome di una variabile contenente il valore in decimi di secondo del timer; in questo caso non viene preso in considerazione il valore di default specificato nell’attributo "value". Usciti dalla card, questa variabile conterrà l’eventuale tempo residuo; zero se il timer é scaduto, un valore positivo se l'utente é uscito volontariamente dalla card prima dello scadere del timer.
valore Valore di default del timer in decimi di secondo. Se é specificata la variabile in "name" e questa é già settata con un certo valore, allora verrà utilizzato proprio quel valore per il timer, ignorando il valore di default qui indicato. Obbligatorio

Un classico esempio di utilizzo del tag "timer": si visualizza una card per qualche secondo (con un logo, un titolo, uno spot pubblicitario, etc.) e poi si passa automaticamente ad un'altra card. Nell'esempio seguente si visualizza per 1 secondo il titolo del sito per poi passare al deck home.wml:

<wml>
<card id="splash" ontimer="home.wml" title="GSMWORLD.it">
   <timer value="10"/>
   <p align="center">
      GSMWORLD.it<br/>
      Viaggio nel mondo del GSM
   </p>
</card>
</wml>




DISCLAIMER GSMWORLD.it consente all'utente di utilizzare il contenuto della presente pagina a condizione che: a) il documento serva solo a scopi informativi; b) il documento sia usato solo per scopi personali e comunque non commerciali; c) si faccia riferimento all'autore, quando il documento viene usato. GSMWORLD.it non si assume alcuna responsabilità per qualsiasi materiale realizzato o pubblicato da Terzi che sono linkati direttamente da questa pagina. Tutti i marchi, i nomi dei prodotti e dei servizi citati sono registrati dai rispettivi proprietari.

Copyright © Marcello Scatà 1997-2002
URL http://www.gsmworld.it/wapmania/default.asp?url=wml7.asp
Stampato sabato 23 novembre 2024 01:32:55