TreeView V1.2i (c) 1990 by Stephan Gerle ========================= Allgemeine Beschreibung: ------------------------ TreeView ist ein Programm, welches den Verzeichnisbaum von Laufwerken grafisch in einem Fenster ausgibt. TreeView kann sowohl als ACC als auch als PRG bzw. APP gestartet werden. Wenn TreeView als ACC gestartet wird, existiert eine Schnittstelle zu GEMINI (ab GEMINI Version 1.2). Nutzungsbedingungen: -------------------- TreeView ist nicht PD. TreeView darf aber zusammen mit diesem Text beliebig oft und fr jeden kopiert werden. TreeView darf nicht kommerziell verkauft werden. Dieses schliežt auch sogenannte PD Versender aus, die mehr als den Diskettenpreis fr eine Kopie verlangen. Falls TreeView regelm„žig benutzt wird, so bitte ich als kleine Anerkennung um eine Postkarte von Deinem Heimatort. Dadurch kann ich sehen, ob TreeView berhaupt zur Anwendung kommt und die Karte kann auch gleichzeitig dazu genutzt werden, Verbesserungsvorschl„ge und Fehlermeldungen zu notieren. Bedienung von TreeView: ----------------------- TreeView kann sowohl als PRG als auch als ACC gestartet werden. Wenn man TreeView als PRG startet, so kann man in der Kommandozeile den anzuzeigenden Pfad angeben. Wird kein bzw. ein nicht gltiger Pfad angegeben, so wird der Verzeichnis- baum von dem aktuellen Laufwerk ab dem Wurzelverzeichnis dargestellt. Das gleiche gilt fr TreeView im ACC-Modus. Nur das hier die Kommandozeile ber einen 0x4711-Call bergeben wird. Wird TreeView ber den Desk-Eintrag aufgerufen, dann wird eine leere Kommandozeile angenommen, d.h. es wird das aktuelle Laufwerk ab dem Wurzelverzeichnis dargestellt. Beim Aufbau des Verzeichnisbaums stellt TreeView eine Box auf dem Bildschirm dar, aus der man erkennen kann, wie weit TreeView gerade ist. Danach wird ein Fenster ge”ffnet, indem der Verzeichnisbaum grafisch dargestellt wird. In der obersten Zeile ist ganz links ein Drucker-Icon und rechts daneben sind Icons fr die aktiven Laufwerke (Drvbits() wird ausgewertet). Darunter sieht man - abetrennt durch eine Linie - den Verzeichnisbaum. Die Kreise vor einem Verzeichniseintrag geben an, ob die vorhandenen Unterverzeichnisse dargestellt sind (+) oder gerade eingeklappt sind (-). Klickt man mit der Maus auf ein (+), so werden die Unterverzeichnisse eingeklappt und aus dem (+) wird ein (-). Somit kann man normalerweise nicht benutzte Unterverzeichnisse unsichtbar machen und die šbersicht- lichtkeit der Darstellung erh”hen. Mittels Einfachklick auf einen Verzeichniseintrag wird ein Verzeichnis selektiert. Dies hat noch kein Auswirkungen. Erst ein Doppelklick fhrt unter GEMINI eine Aktion aus (s.u.). Klickt man auf das Drucker-Icon, so wird man noch gefragt, ob man auf den Drucker (GDOS-Ger„t 21) oder in ein Metafile (GDOS-Ger„t 31) drucken oder die Aktion abbrechen m”chte. Klickt man auf ein Laufwerk's-Icon, so wird der Verzeichnisbaum des angeklickten Laufwerk's ab dem Wurzelverzeichnis erst eingeladen und dann angezeigt. Tastaturkommandos: ------------------ BACKSPACE Es wird der Verzeichnisbaum ab einer Ebene h”her eingeladen und anschliežend dargestellt. Cursortasten Mit den Cursortasten kann in dem Fenster gescrollt werden. Gleichzeitig mit Shift bewirken die Cursortasten ein seitenweises Scrolling. Ctrl-I Bringt eine Info-Box auf den Bildschirm. HELP Bringt eine kleine Hilfsbox zu den Tastenfunktionen. Ctrl-L Wechselt die Anzeige von TreeView. Nach dem ersten Mal drcken wird zu jedem Verzeichniseintrag noch angegeben, wieviel Kilobytes von dem Verzeichnis belegt wird. Nach nochmaligem Drcken von Ctrl-L verschwindet diese Anzeige wieder. Ctrl-S Hiermit kann der geladene Verzeichnisbaum abgespeichert werden. Wird TreeView dann nochmal mit diesem Pfad aufgerufen, wird der Verzeichnisbaum nur noch erstellt, wenn Control gedrckt wird. Ansonsten wird der abgespeicherte Verzeichnisbaum von der Platte geladen. Dies hat den Vorteil, daž das Einladen sehr schnell geht. Der Nachteil ist, das Konsistenzprobleme auftreten k”nnen. Man man ein Verzeichnis l”scht oder ein Neues erstellt, so weiss TreeView davon natrlich nichts. In diesem Fall muž mittels Gedrckthalten von Control der Verzeichnisbaum neu erstellt werden (und nachher abgespeichert werden). Der Verzeichnisbaum wird in dem darzustellendem Verzeichnis als versteckte Datei unter dem Namen TREEVIEW.INF abgelegt. Ctrl-P Ist dasselbe wie Anklicken des Drucker-Icons. Ctrl-Q Nur aktiv, wenn TreeView als Programm gestartet wurde. Dann wird damit TreeView verlassen. Sonst wird mittels AV_SENDKEY dieser Tastendruck an die Hauptapplikation gesendet (bewirkt bei GEMINI das Beenden von GEMINI!). Ctrl-U Ctrl-D Bewirken alle das Schliežen des Fensters (im ACC-Mode) bzw. das Beenden von TreeView (im PRG-Mode). Ctrl-O Sendet den angeklickten Pfad an die Hauptapplikation (entspricht Open). Alle anderen Tastendrcke werden mittels AV-Protokoll an die Haupt- applikation weitergereicht. Besonderheiten in Zusammenhang mit GEMINI (ab V1.2): ---------------------------------------------------- Ab GEMINI V1.2 existiert in GEMINI eine Schnittstelle zu Accessories. TreeView macht sich diese Schnittstelle auf mehrere Arten zunutze. 1. Man kann Accessories in GEMINI starten (auch schon ab V1.1). Die Accessories werden dabei natrlich nicht richtig gestartet, sondern die Acc's kriegen eine Message 0x4711, in der dem Acc eine Kommandozeile bergeben wird. Legt man nun z.B. das TreeView-Icon auf den Desktop von GEMINI, so kann man TreeView einfach durch Doppelklick auf das Icon starten. Man kann auch - wie bei normalen Programmen - Icons auf dieses TreeView-Icon ziehen. TreeView darf aber nur mit einer Pfadangabe gestartet werden, deshalb sollte man auch nur ein Icon auf das TreeView-Icon ziehen. TreeView extrahiert dann die Pfadangabe aus der Kommandozeile (schneidet den eventuellen Dateinamen ab) und stellt den zu dem Icon geh”renden Verzeichnisbaum dar. Man kann so ziemlich alles, was auf dem Desktop von GEMINI liegt, auf das TreeView-Icon ziehen. Der Shredder repr„sentiert keinen Pfad und bildet damit die einzige Ausnahme. 2. Macht man einen Doppelklick auf einen Verzeichniseintrag in TreeView, so wird in GEMINI ein Fenster mit dem dazugeh”rigen Pfad ge”ffnet. Dies kann dazu genutzt werden, um schnell tief verschachtelte Ordner zu ”ffnen. 3. Da ich in TreeView keinen Fontselektor einbauen wollte (Speicher sparen), fragt TreeView bei jedem Start bei GEMINI nach, welcher Font fr die Dateifenster in GEMINI eingestellt ist. Dieser Font in dieser H”he wird dann auch von TreeView verwendet. 4. Falls das Fenster von TreeView offen ist, kann man in GEMINI auch noch Icons in dieses Fenster legen. TreeView interpretiert dies dann als Wunsch, den Verzeichnisbaum von diesem Icon anzeigen zu lassen. 5. GEMINI merkt sich den Status von TreeView. Dieser Status kann mit Status sichern in GEMINI abgespeichert werden. Damit kann man z.B. die Lage des TreeView-Fensters und den dargestellten Pfad abspeichern. Andere Programme: ----------------- In TreeView ist das sogenannte AV-Protokoll eingebaut. Dies ist ein Satz von Mitteilungen, die ein Accessorie und ein Hauptprogramm austauschen k”nnen. Jedes Programm, welches dieses Protokoll untersttzt, wird damit auch von TreeView untersttzt. Bisher gibt es allerdings nur GEMINI V1.2 bzw. das dazugeh”rige Venus, welches dieses Protokoll untersttzt. Fr das Protokoll wird bei GEMINI V1.2 eine Headerdatei mit Defines fr die Protokollnummern mitgeliefert. Fr Accessories gibt es von mir eine kleine Library, die fr die Unter- sttzung des AV-Protokoll's in eigenen Accessories genutzt werden kann. Drucken: -------- TreeView druckt grunds„tzlich auf GDOS-Ger„t 21. Dies impliziert damit auch schon, das GDOS eingeladen sein muž, um mit TreeView drucken zu k”nnen. Bei der Druckerausgabe kann es zu Problemen kommen, wenn man einen Font gew„hlt, der nur in einer berechneten Gr”že vorliegt (z.B. doppelte Gr”že). Hat man in GEMINI fr die Dateifenster einen Font eingestellt, der fr den Druckertreiber nicht vorhanden ist, so wird die Wahl des Fonts dem Treiber berlassen (meistens der erste Font im ASSIGN.SYS unter dem Treibereintrag). Metafile-Ausgabe: ----------------- Die Metafile-Ausgabe ist mehr als kleines Bonbon gedacht, da diese erweiterte Ausgabem”glichkeit mich genau 6 Befehle kostet. Leider gibt es damit auch am meisten Probleme. Ist unter META.SYS im ASSIGN.SYS kein Font eingetragen, so liefert mir der Treiber die Fonth”he 0 zurck und damit wrde alles auf eine Zeile zusammengequetscht. Deshalb gehe ich bei Metafiles und nicht existierenden Fonts von einer Fonth”he und -breite von 16 Pixeln aus. Es gibt auch mindestens zwei verschiedene META.SYS. Das META.SYS mit der Dateil„nge 9325 Bytes funktioniert. Bei einem anderen META.SYS gab es auch schon mal Bomben. Das Metafile wird im Clipboard abgelegt, wenn der Clipboardpfad gesetzt worden ist. Wenn der Clipboardpfad nicht gesetzt worden ist, so wird das Metafile in dem Verzeichnis des dargestellten Verzeichnisbaums abgelegt. Probleme mit anderen Programmen: -------------------------------- 1. Bei der Version V3.0q (oder auch andere Versionen) von Autoswitch- Overscan wird der Bildschirm weiž, wenn man mit TreeView ausdrucken will. Das liegt daran, daž TreeView einen v_clrwk()-Aufruf auf die Druckerworkstation ausfhrt und Autoswitch-Overscan daraufhin den Bildschirm l”scht. Dies hat ansonsten keine weiteren Nebeneffekte. Nach Starten eines Programmes ist der Bildschirm wieder normal. 2. Eine Version von Metafont von Stefan Lindner gibt eine Fehlermeldung aus, wenn es eine Meldung kriegt, die Metafont nicht versteht. Leider geh”ren dazu auch Meldungen von TreeView an Metafont. Auch dieser Fehler hat ansonsten keine Nebenwirkungen. Epilog: ------- Fr Anregungen, Erfahrungsberichte und Fehlermeldungen bin ich immer dankbar. Ich bin unter folgender Adresse zu erreichen: Stephan Gerle Ruthstr. 8 4600 Dortmund 1 Tel.: 0231/65 25 35 E-Mail: Stephan Gerle @ DO im Maus-Net PS. : Viel Spaž mit dem Programm. PPS.: Erst mit GEMINI V1.2 k”nnen alle M”glichkeiten von TreeView voll genutzt werden. Neu in Version: --------------- V1.2i: + Wird ein Dateibaum neu eingelesen und es existiert in dem angezeigtem Verzeichnis bereits ein abgespeicherter Dateibaum, so wird der neu eingelesene Dateibaum automatisch abgespeichert. + Help wurde erweitert. + Der einmal eingestellte Font wird nur noch verstellt, wenn er von GEMINI erfragt werden konnte. Wurde TreeView innerhalb von GEMINI einmal aufgerufen, dann hat man den dort eingestellten Font auch, wenn man ein anderes Programm startet. + Dateib„ume werden sortiert + Gemini/Venus merkt sich den Status von TreeView, wenn man Status sichern aufruft. Dieser Status wird dann bei jedem Start von Gemini/Venus eingestellt. + L„uft jetzt auch mit Chameleon korrekt.