[Inhalt] [Zurück] [Weiter] [Thema] [Index]

NewTree()


Syntax:

NewTree (String name, String label, GeoPoint pos, GeoPoint size, Baum b, Bool multi, String azurprg)
name: Name des Trees
label: Überschrift
pos: Pixelposition links, oben
size: Breite und Höhe in Pixeln
b: der darzustellende Baum
multi: Mehrfachselektion möglich
azurprg: Handler

Beispiel:

NewTree ("verz", "Dateinamen", {20,270}, {100, 200}, DirBaum(".","*", False), True, "TuWas")

Beschreibung:

Produziert eine Baumstruktur auf dem Window aus einem Baum(). azurprg wird aufgerufen, wenn der Benutzer ein anderes Element anklickt oder ein Element auf- oder zuklappt.

Die Darstellung erfolgt in einer horizontalen Baumstruktur. Jedes Baumelement, das Kinder besitzt, kann auf- und zugeklappt werden.

Jedes Element wird durch einen Text repräsentiert, der sich aus dem Attribut Name des Elements ergibt. Ist dieses Attribut nicht vorhanden, wird das Attribut id benutzt. Ist auch dieses nicht vorhanden, wird der Name des Elements benutzt.

Über den Texten der Elemente gibt es eine Kopfzeile, in der das label als Überschrift angezeigt wird.

Ob ein Element aufgeklappt oder geschlossen ist, entscheidet sich anhand des Attributs open (An/Aus,Ja/Nein,0/1 ...). Ist kein solches Attribut vorhanden, wird das Elemente aufgeklappt angezeigt.

Alle Änderungen (Auf- und Zuklappen, Selektieren und Deselektieren von Einträgen) des Baums werden direkt in die Attribute der jeweiligen Unterbäume (Elemente) von b geschrieben und können direkt von Azur aus abgefragt werden. Mit BaumFilter() mit dem Filter "select=True" erhält man einen Baum mit allen selektieren Elementen des Baums.

Wenn multi False ist, kann der Benutzer nur ein Element auswählen. Wenn multi True ist, kann der Benutzer mehrere Elemente gleichzeitig anklicken.

Azur-Handler empfangen neben dem Baum selbst auch den Baum, auf dem der Cursor steht, unter dem Namen <name>_Akt.

Um eine Änderung am Baum im dargestellten Tree sichtbar zu machen, nutzt man ExportVar(name, "@update"). Der Tree wird dabei vollständig abgebaut und wieder aufgebaut, wodurch das aktuelle Element verloren geht.

Wenn nur Teile des Baums aktualisiert werden sollen, so nutzt man ExportVar(name, "@update "+B["@id"]). Der Cursor bleibt so erhalten, es sei denn, er steht auf einem Unterbaum von B. Das eindeutige Attribut @id wird automatisch beim Aufbau (und Update) des Baumes vergeben.

Im Beispiel wird der Baum mittels DirBaum() erzeugt. Auf diese Weise lässt sich leicht eine Verzeichnisstruktur visualisieren.



toposoft 28.10.2024