DirectoryOpus - część 2 z 10
Jarosław Horodecki
Wersja HTML -
Zgodnie z zapowiedzią z poprzedniego odcinka przechodzimy
do programu konfiguracyjnego Directory Opusa. Jak już wcześniej
wspomniałem, jest to naprawdę potężne narzędzie i umiejętnie je
wykorzystując można DOpusa w pełni dostosować do swoich nawet
najbardziej nietypowych wymogów.
Do programu konfiguracyjnego, jak już wiemy, przejść można
albo wybierając opcję CONFIGUREz menu PROJECT, albo korzystając
z małego gadżetu, oznaczonego literą C, znajdującego się w prawym
dolnym rogu ekranu (oczywiście w standardowej konfiguracji
programu).
Po uruchomieniu programu konfiguracyjnego mamy do wyboru osiem
głównych opcji oraz trzy dodatkowe (SAVE, CANCEL oraz OKAY),
które raczej nie wymagają szczegółowego omówienia. Zacznijmy od
opcji BUTTONS umożliwiającej dowolne przedefiniowywanie funkcji
ukrytych pod zbiorem gadżetów umieszczonych w dolnej części
ekranu. Możliwe jest oczywiście również tworzenie zupełnie nowych
funkcji.
Po wejściu do sekcji definiowania tych gadżetów ukazują się dwa
ich zestawy. Pierwszy z nich jest uruchamiany, gdy korzystamy z
lewego przycisku myszy, drugi natomiast, gdy wykorzystywany jest
prawy przycisk. Ponieważ w każdym zestawie mogą być zdefiniowane
42 opcje, więc w sumie możemy zdefiniować aż 84 własne rozkazy.
Niestety, należy uwzględnić to, iż w naszych własnych zestawach
najprawdopodobniej będzie się musiała znaleźć przynajmniej część
standardowych rozkazów niezbędnych przy pracy z DOpusem.
Oprócz zajmujących większą część ekranu gadżetów mamy w jego
dolnej części kilka pomocnych opcji edycyjnych:
NEXT BANK, NEW BANK -- zajmujących się przełączaniem kolejnych banków z
zestawami zdefiniowanych gadżetów,
COPY BANK, DELETE BANK oraz SWAP BANK -- kolejno kopiowanie, kasowanie
oraz zamiana miejscami zdefiniowanych wcześniej banków opcji,
COPY BUTTON, SWAP BUTTON oraz DEL. BUTTON -- kopiowanie, zamiana miejscami
oraz kasowanie pojedynczych gadżetów.
Znaczenie opcji OKAY oraz CANCEL jest chyba dla każdego zupełnie oczywiste.
Aby zmienić istniejącą lub zdefiniować nową opcję, należy jedynie
wskazać myszą odpowiadający jej gadżet. Przechodzimy w ten sposób
do ekranu zawierającego opcje dotyczące definicji gadżetu.
Na początek parę słów na ich temat. W górnej części ekranu
znajdziemy funkcje określające wygląd samego gadżetu, czyli
odpowiednio kolor jego czcionki oraz tła, a także napis, jaki
symbolizować ma jego znaczenie. Kolejna linijka to definicja
klawisza lub kombinacji klawiszy, jakie mogą być użyte do
uruchomienia danej opcji. Wystarczy skorzystać z opcji SAMPLE i
na klawiaturze wybrać odpowiednią kombinację. Dalej mamy już
opcje ściśle odpowiadające za definicję danej komendy oraz
dodatkowe działania, które mają być zrealizowane przez DOpusa
przy jej wykonywaniu.
Definiować możemy kilka rodzajów komend:
COMMAND -- wewnętrzne rozkazy DOpusa,
AmigaDOS -- dowolna komenda DOS-u,
WORKBENCH -- narzędzia lub projekty mające własne ikony, w których
przechowywane są prametry,
BATCH -- zwykły plik skryptowy,
AREXX -- plik z programem w ARexxie.
W definiowaniu każdej z tych komend pomaga możliwość otwarcia requestera
za pomocą gadżetu z lupą umieszczonego tuż obok. Możliwe jest wtedy wygodne
wybranie odpowiedniego rozkazu lub pliku bez potrzeby wklepywania jego
nazwy z klawiatury.
To tyle najpotrzebniejszej i jednocześnie podstawowej wiedzy o
definiowaniu własnych komend. Przejdźmy teraz do ich
wykorzystania w praktyce. Na początek proponuję zaimplementowanie
w DOpusie kilku komend znacznie ułatwiających pracę z plikami
zarchiwizowanymi. Będą to więc komendy: pokazująca zawartość
archiwum, rozpakowująca dane z archiwum oraz pakująca oznaczone
pliki. Dwie pierwsze komendy zdefiniowane są już jako obsługujące
pliki o określonych rozszerzeniach (FILETYPES), nie będzie więc
wiekszych trudności z ich przeniesieniem na gadżety (niemniej
omówię sposób ich definiowania). Od początku musimy natomiast
zdefiniować komendę pakującą dane.
Zacznijmy od wylistowania zawartości archiwum. Po pierwsze
definiujemy więc nazwę tworzonej opcji. W okienku NAME wpiszmy
LHA LIST. Powyżej ukaże się pojedynczy gadżet z wpisanym przez
nas napisem. Za pomocą znajdujących się po jego obu stronach
kolorowych prostokącików, symbolizujących poszczególne kolory z
danej palety, należy ustawić kolor znaków oraz tła w naszym
gadżecie. To są jednak drobiazgi. Przejdźmy do definicji samej
komendy. Korzystamy więc z opcji NEW ENTRY. Ustawiamy typ naszej
komendy, którym będzie oczywiście AmigaDOS. Następnie wpisać
należy odpowiednią komendę. Jak wiadomo z poziomu CLI, aby
przejrzeć zawartość archiwum LHA, należy wydać komendę LHA v
lub LHA l . Wpisujemy więc w okienku
sekwencję LHA v {f}. Znaki {f} oznaczają, że komenda nasza będzie
pobierać z DOpusa nazwę zaznaczonego pliku wraz z całą ścieżką
dostępu do niego. Wszystkie sekwencje typu {litera}
wyszczególnione są w samym programie i dostępne po naciśnięciu
gadżetu oznaczonego {}.
Ostatnim już krokiem jest ustawienie
dodatkowych parametrów komendy (FLAGS).
Do wyświetlania zawartości archiwum będzie na pewno przydatne ustawienie flagi
"do all files", dzięki której komenda będzie poddawać swojemu
działaniu kolejno wszystkie oznaczone pliki.
Aby móc zobaczyć zawartość archiwum, trzeba jeszcze gdzieś
wyprowadzić generowany tekst. Są dwie możliwości: "output to
file" albo "output window". W pierwszym wypadku tekst generowany
przez LHA będzie zapamiętywany w specjalnie do tego celu
utworzonym pliku, który następnie będzie mógł być wyświetlony i
przeglądany za pomocą wewnętrznej procedury DOpusa wyświetlającej
tekst ASCII. Jest to rozwiązanie dość wygodne, gdyż w prosty i
elegancki sposób zapoznać się można z zawartością wszystkich
zaznaczonych archiwów. Można również bez problemu przeszukiwać
ich zawartość według zadanego klucza lub nawet wydrukować czy
zgrać na dysk. Drugi sposób jest nieco mniej poręczny. Mianowicie
działanie komend jest natychmiast kierowane do specjalnie w tym
celu otwartego na ekranie DOpusa okna. Aby uniknąć przedwczesnego
zniknięcia okna, w którym wyświetlona jest zawartość archiwum,
warto jeszcze zmienić parametr CLOSE DELAY na -1, co każe
DOpusowi czekać z zamknięciem okna na naciśnięcie lewego
przycisku myszy. W ten sposób mamy gotową komendę LHA LIST.
Następna będzie nieco bardziej skomplikowana -- LHA DEPACK, czyli
rozpakowanie zaznaczonych archiwów do katalogu otwartego w drugim
oknie DOpusa. Wpisujemy więc nazwę komendy do okna NAME, ustalamy
kolor komendy i definiujemy samą komendę. Czynności te są
właściwie identyczne z definicją LHA LIST. Sekwencja, jaką
wpisujemy, jest oczywiście nieco inna, a mianowicie: LHA x {f}.
Ustawiamy również flagi "do all files", aby rozpakowane zostały
wszystkie oznaczone pliki, oraz "output window", abyśmy widzieli,
co się w danym momencie dzieje, tzn. jaki plik jest
rozpakowywany. Dzięki wyprowadzeniu tych danych na ekran mamy
możliwość szybkiego sprawdzenia, "co się właściwie stało", gdy
Amiga raptem wyświetli "guru". Oprócz tego należy jednak
skorzystać jeszcze z kilku nie znanych nam dotychczas flag. Po
pierwsze więc włączamy "CD destination", aby rozpakowywane pliki
trafiały do drugiego katalogu. DOpus będzie podawał do LHA
kolejne pliki przeznaczone do rozpakowania wraz z całą ścieżką,
więc możemy spokojnie przejść do katalogu docelowego. Na koniec
warto jeszcze włączyć flagę "rescan destination", po czym nastąpi
wczytanie katalogu docelowego po rozpakowaniu zaznaczonych
plików. Jak widać, definiowanie własnych komend nie jest takie
trudne.
Na koniec została chyba najbardziej skomplikowana komenda, która
ma pakować oznaczone pliki, przy czym, jak sądzę, miła byłaby
możliwość podania nazwy tworzonego archiwum, najlepiej za pomocą
eleganckiego systemowego requestera. Za pomocą DOpusa realizacja
tego zadania jest wręcz śmiesznie prosta. Na początku definiujemy
oczywiście nazwę naszej komendy: LHA PACK i odpowiednie kolory.
Teraz ponownie korzystamy z opcji NEW ENTRY i po ustawieniu
rodzaju komendy na AmigaDOS wpisujemy następującą sekwencję: LHA
a {Rf} {O}.
Niezbędne jest chyba kilka słów wyjaśnienia. Jak chyba wiemy,
przy archiwizowaniu plików za pomocą LHA musimy najpierw podać
nazwę pliku, który będzie naszym archiwum. Nazwę tę możemy podać
właśnie za pomocą sekwencji {Rf}, która powoduje otwarcie
requestera. Można za jego pomocą dokonać wyboru dowolnego pliku
bądź też stworzyć nowy plik. Archiwum można oczywiście stworzyć w
dowolnym katalogu, a nie jedynie w katalogu źródłowym. Znaki {O}
natomiast powodują podanie przez DOpusa nazw wszystkich
zaznaczonych plików, bez podawania pełnych ścieżek dostępu do
nich. Do prawidłowego działania rozkazu LHA PACK pozostaje
jeszcze ustawić kilka flag. Po pierwsze więc ustawiamy znane już
nam "do all files" i "output window". Kolejne dwie flagi, które
należy włączyć, to "rescan source", jeżeli archiwum zostało
stworzone w katalogu źródłowym, to natychmiast pojawi się ono w
katalogu, oraz "cd source", przełączające bieżącą ścieżkę na
katalog źródłowy, dzięki czemu jako parametry dla LHA podawane są
jedynie nazwy plików, a nie całe ścieżki dostępu.
W ten prosty sposób stworzyliśmy zestaw trzech komend bardzo
przydatnych w poważniejszej pracy z Amigą. Pomysłów na tworzenie
nowych komend dla DOpusa jest właściwie nieskończenie wiele.
Teoretycznie można podczepić tu dowolnie wybrane procedury czy
programiki. Z powodzeniem można stworzyć elegancką obsługę dla
kompresora dyskietek -- DiskMashera, moża również obsłużyć
dowolne inne kompresory oprócz LHA (zip, zoo, arc, lz oraz wiele
innych). Można również poszerzać możliwości podstawowych funkcji
DOpusa, podstawiając pod ich gadżety komendy zewnętrzne o
większych możliwościach.
Doskonałym przykładem może tu być na przykład wymiana
standardowej komendy SHOW, pokazującej jedynie zwykłe obrazki IFF
ILBM na nieco bardziej rozbudowaną, która potrafiłaby pokazywać
również obrazki w innych formatach, na przykład JPG, GIF czy
IFF24. Aby tego dokonać, wystarczy jedynie zdefiniować nowy
gadżet, na przykład o nazwie SHOW PIC, podstawiając pod niego
znany program ViewTek, który doskonale radzi sobie z wszelkimi
popularnymi formatami graficznymi oraz niemalże dowolnymi
animacjami. Jednakże zamiast dotychczas przez nas używanego typu
AmigaDOS warto skorzystać tym razem z typu WORKBENCH, jako że
ViewTek w swojej ikonie zapisuje w formie tooltype'ów niektóre
parametry swojej pracy. Dzięki takiemu rozwiązaniu łatwe jest
również konfigurowanie ViewTeka jedynie przez zmianę jego
parametrów zapisanych w ikonie.
Jak więc widać, możliwości konfiguracyjnych jest ogromnie dużo.
Na pewno nie wyczerpałem całego tematu definicji własnych
gadżetów. Nie jest to jednak możliwe w tak krótkim artykule.
Warto jeszcze wspomnieć, że w powyższym tekście przedstawiłem
jedynie jedną z ośmiu opcji konfiguracyjnych, z pewnością więc
możliwości są o wiele większe. W następnej części zapoznamy się z
kolejnymi opcjami oferowanymi przez program konfiguracji DOpusa.