Table des Matières Tracker | Index Tracker |
Chaque fenêtre du Tracker possède une propriété "Poses" qui représente le contenu de la fenêtre. Chaque Poses, à son tour, définit les deux propriétés "Entry" et "Selection". Une "Entry" est un élément de la fenêtre, e.g. un fichier ou un répertoire, alors qu'une "Selection" représente une "Entry" sélectionnée.
Quand une fenêtre du Tracker reçoit un message avec une propriété "Poses", il supprime le spécificateur courant de la pile des spécificateurs puis envoie le message à la vue qui gère la propriété "Poses". A partir de là, les propriétés "Entry" et "Selection" sont traitées. Par exemple, le fonction suivante renvoie le nombre d'entrées présentes dans une fenêtre donnée du Tracker :
int32 CountEntries(const char *name) { int32 count; BMessage message, reply; // on prépare la requête message.what = B_COUNT_PROPERTIES; message.AddSpecifier("Entry"); message.AddSpecifier("Poses"); message.AddSpecifier("Window", name); // envoi de la requête et récupération de la réponse BMessenger("application/x-vnd.Be-TRAK").SendMessage(&message, &reply); // renvoi du résultat if (reply.FindInt32("result", &count) == B_OK) return count; return -1; }
L'API de script du Tracker définit plusieurs méthodes pour spécifier les entrées dans une "Poses". Ces méthodes sont résumées ci-dessous :
Spécificateur | Description |
---|---|
B_DIRECT_SPECIFIER | Utilisé pour spécifier Poses ou Selection. |
B_INDEX_SPECIFIER | "index" contient un index (int32) des fichiers dans Poses. Les valeurs limites sont spécifiés par deux indices. |
'sref' | "refs" contient les entry_refs des fichiers spécifiés. |
'sprv' | Se réfère à l'élément qui suit immédiatement le fichier dont le entry_ref se trouve dans "data." |
'snxt' | Se réfère à l'élément qui précède immédiatement le fichier dont le entry_ref se trouve dans "data". |
N'oubliez surtout pas que les autres programmes (ou l'utilisateur) peuvent également ajouter ou supprimer des entrées à la vue et à Selection ; il ne faut donc pas se fier aux indices pour désigner un fichier particulier. Pour cela il vaut mieux utiliser entry_refs.
Message | Spécificateur | Signification |
---|---|---|
B_COUNT_PROPERTIES | B_DIRECT_SPECIFIER | Compte les entrées dans Poses. |
B_DELETE_PROPERTY | 'sref',
B_INDEX_SPECIFIER |
Déplace le Entry spécifié vers la corbeille. |
B_EXECUTE_PROPERTY | 'sref',
B_INDEX_SPECIFIER |
Effectue une action équivalente à l'ouverture des éléments spécifiés dans le Tracker. |
B_GET_PROPERTY | B_DIRECT_SPECIFIER | Renvoie les entry_refs de toutes les entrées du Poses courant. |
B_GET_PROPERTY | B_INDEX_SPECIFIER | Renvoie le entry_ref spécifié. |
B_GET_PROPERTY | 'sprv', 'snxt' | Renvoie le entry_ref du entry précédent ou suivant le entry_ref spécifié. Renvoie également l'index du fichier dans "index." |
Message | Specificateur | Signification |
---|---|---|
B_COUNT_PROPERTIES | B_DIRECT_SPECIFIER | Compte le nombre d'éléments sélectionnés dans Poses. |
B_CREATE_PROPERTY | B_DIRECT_SPECIFIER | Ajoute des éléments au Selection courant. Ceux-ci peuvent être spécifiés comme des entry_refs ou des int32s dans le tableau "data". |
B_DELETE_PROPERTY | 'sref',
B_INDEX_SPECIFIER |
Supprime des éléments du Selection courant. |
B_GET_PROPERTY | B_DIRECT_SPECIFIER | Renvoie les entry_refs des éléments de Selection. |
B_GET_PROPERTY | 'sprv', 'snxt' | Renvoie l'entry_ref du fichier précédent ou suivant un élément donné. Renvoie l'index du fichier dans "index." |
B_SET_PROPERTY | B_DIRECT_SPECIFIER | Efface le Selection courant et lui affecte les valeurs données dans "data." Accepte également entry_refs dans "data" pour déterminer le nouveau Selection. |
B_SET_PROPERTY | 'sprv', 'snxt' | Efface le Selection courant et y stocke les valeurs des entry_refs précédent ou suivant ceux spécifiés dans "data." |
Table des Matières Tracker | Index Tracker |
Copyright © 2000 Be, Inc. All rights reserved..