                             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 schliet auch
sogenannte PD Versender aus, die mehr als den Diskettenpreis fr eine Kopie
verlangen.

Falls TreeView regelmig 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, Verbesserungsvorschlge 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 geffnet, 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 erhhen.

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-Gert 21) oder in ein Metafile (GDOS-Gert 31) drucken
oder die Aktion abbrechen mchte.

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 hher eingeladen
             und anschlieend 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 knnen.
             Man man ein Verzeichnis lscht 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 Schlieen 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 gehrenden Verzeichnisbaum dar.
Man kann so ziemlich alles, was auf dem Desktop von GEMINI liegt, auf das
TreeView-Icon ziehen. Der Shredder reprsentiert 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 dazugehrigen Pfad geffnet. 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 Hhe 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 knnen.
Jedes Programm, welches dieses Protokoll untersttzt, wird damit auch
von TreeView untersttzt. Bisher gibt es allerdings nur GEMINI V1.2
bzw. das dazugehrige 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 grundstzlich auf GDOS-Gert 21. Dies impliziert damit auch
schon, das GDOS eingeladen sein mu, um mit TreeView drucken zu knnen.

Bei der Druckerausgabe kann es zu Problemen kommen, wenn man einen Font
gewhlt, der nur in einer berechneten Gre vorliegt (z.B. doppelte Gre).
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
Ausgabemglichkeit 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 Fonthhe 0
zurck und damit wrde alles auf eine Zeile zusammengequetscht. Deshalb gehe
ich bei Metafiles und nicht existierenden Fonts von einer Fonthhe und -breite
von 16 Pixeln aus.
Es gibt auch mindestens zwei verschiedene META.SYS. Das META.SYS mit der
Dateilnge 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 lscht.
   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
   gehren 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 knnen alle Mglichkeiten 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.
       + Dateibume 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.
       + Luft jetzt auch mit Chameleon korrekt.
