|
Każde okno Tracker'a określa właściwość "Poses" (pozycja) reprezentującą zawartość okna. Każda pozycja, włączona, określa dwie właściwości "Entry" (element) i "Selection" (zaznaczenie). "Entry" jest elementem w oknie, tj. obojętnie plik czy katalog, wtedy gdy "Selection" przedstawia zaznaczone "Entry".Kiedy okno Tracker'a odpowiada komunikatem skryptowania z właściwością "Poses", to zdejmuje bieżący specyfikator ze stosu specyfikatora i przesyła komunikat skryptowania do widoku (typ BView) obsługującego właściwość "Postawy". Z tego miejsca są przetwarzane właściwości "Entry" i "Selection". Dla przykładu, poniższa funkcja zwraca liczbę elementów obecnych w danym oknie Tracker'a:
int32 CountEntries(const char *name)
{
int32 count;
BMessage message, reply;
// z żądania skryptowania
message.what = B_COUNT_PROPERTIES;
message.AddSpecifier("Wejście");
message.AddSpecifier("Pozy");
message.AddSpecifier("Okno", name);
// dostarcza żądanie i przynosi odpowiedź
BMessenger("application/x-vnd.Be-TRAK").SendMessage(&message, &reply);
// return result
if (reply.FindInt32("wynik", &count) == B_OK)
return count;
return -1;
}API skryptowania Tracker'a określa liczbę sposobów specyfikowania elemetów w Pozycjach. Metody te są zebrane poniżej:
Specyfikator Opis B_DIRECT_SPECIFIER Używany do określania całej Poses (pozycjach) lub zaznaczenia jako właściwe. B_INDEX_SPECIFIER "index" zawiera int32 indeks pliku w Poses (pozycjach). Zakresy są określone jako para indeksów. 'sref' "refs" zawiera entry_refs określanego pliku. 'sprv' Odnosi się do elementu bezpośrednio następującego po pliku, którego zmienna entry_ref jest znajdowana w "data". 'snxt' Odnosi się do elementu bezpośrednio poprzedzającego plik, któego zmienna entry_ref jest znajdowana w "data". Pamiętaj zawsze, że inne programy (lub użytkownik) również mogą dodawać lub usuwać elementy i zaznaczenia w widoku, więc nie polegaj na indeksach jako bezpiecznej metodzie odnoszenia się do określonego pliku. Zamiast tego użyj zmiennej entry_refs.
Komunikat Specyfikatory Znaczenie B_COUNT_PROPERTIES B_DIRECT_SPECIFIER Zlicza wejścia w Poses (pozycjach). B_DELETE_PROPERTY 'sref',
B_INDEX_SPECIFIERPrzenosi określone wejście do Trash'a (kosza). B_EXECUTE_PROPERTY 'sref',
B_INDEX_SPECIFIERPrzeprowadza operację równoważną otwarciu określonego elementu w Tracker'ze. B_GET_PROPERTY B_DIRECT_SPECIFIER Zwraca zmienną entry_refs wszystkich wejść w bieżacych Poses (pozycjach). B_GET_PROPERTY B_INDEX_SPECIFIER Zwraca określoną zmienną entry_ref. B_GET_PROPERTY 'sprv', 'snxt' Zwraca zmienną entry_ref poprzedniego lub następnego wejścia określonej zmiennej entry_ref. Zwraca również indeks pliku w "index."
Komunikat Specyfikatory Znaczenie B_COUNT_PROPERTIES B_DIRECT_SPECIFIER Zlicza liczbę zaznaczonych elementów w Poses (pozycjach). B_CREATE_PROPERTY B_DIRECT_SPECIFIER Dodaje elementy do bieżącego zaznaczenia. Mogą one być określone jako zmienne entry_refs lub int32 w tablicy "data". B_DELETE_PROPERTY 'sref',
B_INDEX_SPECIFIERUsuwa elementy z bieżącego zaznaczenia. B_GET_PROPERTY B_DIRECT_SPECIFIER Zwraca zmienną entry_refs elementów w zaznaczeniu . B_GET_PROPERTY 'sprv', 'snxt' Zwraca zmienną entry_ref pliku poprzedniego lub następnego danego elementu. Zwraca indeks pliku w "index." B_SET_PROPERTY B_DIRECT_SPECIFIER Czyści bieżące zaznaczenie i ustawia go w przedziale podanym w "data." Akceptuje również zmienną entry_refs w "data" ustanowionego nowego zaznaczenia. B_SET_PROPERTY 'sprv', 'snxt' Czyści bieżące zaznaczenie i ustawia go w zmiennej entry_refs przed lub po tym, które określone jest w "data."
|
Copyright © 2000 Be, Inc. Wszelkie prawa zastrzeżone.