Cette classe hérite de
Screen
.
Affiche un écran contenant une liste d'élément avec une barre d'ascenseur verticale.
Évènements
void OnListItemClick (ListItem li, int x, int y)
Capture l'endroit où l'utilisateur clique dans la liste.
void OnListItemRightButtonClick (ListItem li, int x, int y)
Capture quand l'utilisateur clique sur le bouton icône droit dans une liste de type "IconText".
Méthodes
void AddItem(String id, String text)
void AddItem(String id, String text, ListItem newItem)
void AddItem(String id, String text, String iconFileName)
void AddItem(String id, String text, String iconFileName, ListItem newItem)
Créée un un nouvel élément de liste et l'ajoute dans la liste. Ces méthodes sont appelées pour ajouter des éléments manuellement dans un écran de type liste.
La collection Attributes
de l'objet ListItem
créé possède ses propres attributs en fonction des paramètres fournis.
void SetData(DataTable sourceForListItem)
void SetData(DataTable sourceForListItem, int itemsToLoadPerFrame)
Indique à l'objet
ListScreen
la source des éléments à afficher. Si le nombre d'éléments à charger par page n'est pas spécifié alors tous les éléments de la liste seront créés avant que l'écran soit affiché. Sinon ils seront chargés page par page. Pour de petites listes le temps de chargement peut être négligeable et ce nombre est alors inutile. Cependant, il est recommandé de l'utiliser pour les grandes listes afin de ne pas ralentir le processus et donner à l'utilisateur la perception d'une meilleure réactivité.
Il faut noter que seul un objet
DataTable
est fourni à la méthode
SetData
, et qu'il n'y a pas d'instruction pour préciser le type de liste à créer ni comment définir ses attributs. La raison est que
ListScreen
pilote uniquement la navigation dans la table de données et laisse la méthode
InitListItem()
(provenant du script) prendre la main pour les opérations spéicifiques sur chaque élément de la liste.
SetData(tbl);
}
//implementation de InitListItem()
//Cette méthode est appelée pour chaque ListItem qui est créé quand l'écran
//navigue à travers chaque ligne de la Datatable fournie
void InitListItem(ListItem li)
{
//définit le type d'élement de la liste
li.SetType("IconText");
//lecture des valeurs de la DataTable
int hwnd;
String title;
Surface icon;
tbl.GetValue("HWND", hwnd);
tbl.GetValue("Title", title);
tbl.GetValue("Icon", icon);
//Definit les attributs requis pour afficher l'icone et le texte
//Stockage de l'identifiant unique (hwnd) pour chaque élément
li.Attributes.Add("ID", hwnd);
li.Attributes.Add("Text", title);
li.Attributes.Add("Icon", icon);
}
}
void InitListItem(ListItem li)
Si cette méthode est présente dans le script, elle sera alors appelée pour chaque élément de liste qui est créé lorsque les lignes de la DataTable
sont générées. Voir SetData()
.
void GetSelectedIndex(int result)
Restitue l'index de l'élément sélectionné dans la liste (le premier élément ayant l'index zéro).
void GetSelectedItem(ListItem result)
Restitue le contenu de l'élément sélectionné dans la liste.
void SetSelectedItemID(String id)
Définit l'attribut identifiant pour l'élément sélectionné dans la liste (dans sa collection Attributes
).
void Clear()
Efface tous les éléments de la liste.
bool Done(ListItem selectedItem)
Si cette méthode est présente dans le script elle sera alors appelée quand l'utilisateur clique une soft key (un menu) qui a pour identifiant ID "Done". Cela peut s'avérer utile pour accéder à l'élément sélectionné afin de récupérer ses attributs, et ensuite utiliser cette information afin de réaliser d'autres actions comme celle d'enregistrer la sélection de l'utilisateur.