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.