Die Basis des AES-Systems: Objekte

Die Objektfunktionen auf einen Blick:

▌objc_add▌OBJC_ADD.C▌    Objekt im Objektbaum einfügen.
▌objc_change▌OBJC_CHA.C▌ Status eine Objekts ändern.
▌objc_delete▌OBJC_DEL.C▌ Objekt aus dem Objektbaum entfernen.
▌objc_draw▌OBJC_DRA.C▌   Objekt (mit Unterobjekten) darstellen.
▌objc_edit▌OBJC_EDI.C▌   Texte eines Objekts verändern.
▌objc_find▌OBJC_FIN.C▌   Objektindex über Position ermitteln.
▌objc_offset▌OBJC_OFF.C▌ Bildschirmkoordinaten eines Objekts ermitteln.
▌objc_order▌OBJC_ORD.C▌  Reihenfolge im Objektbaum umstellen.

Objekte sind die Basiselemente des AES-Systems. Sie sind nichts an-
deres als Datenstrukturen namens OBJECT, mit deren Hilfe Grafikele-
mente, wie Alarmboxen, Fenster, Menüs und Symbole beschrieben werden.
Alle Objekte werden in einem einheitlichen Objektbaum zusammengefaßt.
Mit der Datenstruktur OBJECT hat man ein sehr flexibles Werkzeug zur
Verfügung, das gegenüber einem Binärbaum den Vorteil hat, daß man auf
die einzelnen Objekte sowohl über eine vertikale Hierarchie als auch
über eine horizontale Anordnung zugreifen kann. Mit OBJECT findet man
nämlich die häufig benötigten Elemente auf gleicher Hierarchiestufe
sehr leicht.
Die Programmierung eines Objektbaums kann zwar im Grunde mit Hilfe der
Definition eines Objektbaums durchgeführt werden, doch schon bei klei-
neren Aufgaben erweist sich dieses Unterfangen aufgrund der enormen
Datenfülle als ziemlich aussichtslos. Aus diesem Grunde gibt es
Resource Construction Sets. Dies sind GEM-Programme, mit deren
Hilfe man die Objekte grafisch definieren kann. Die einzelnen Objekte
eines Programms werden dann in einer Resourcedatei gespeichert, aus
der sie bequem geladen werden können.
Die wichtigste Funktion in der Objektbibliothek ist sicherlich
▌objc_draw▌OBJC_DRA.C▌, die für das Zeichnen eines Objekts bzw. eines Objektbaumes
verantwortlich ist. Sehr nützlich ist auch ▌objc_change▌OBJC_CHA.C▌, da mit ihr
gleichzeitig der Objektstatus geändert und das betreffende Objekt
seinem neuen Status entsprechend neu gezeichnet werden kann. Wichtig
ist auch noch die Funktion ▌objc_find▌OBJC_FIN.C▌, mit deren Hilfe man, ausgehend
von den Koordinaten einer Position, das darunter liegende Objekt er-
mitteln kann.
