Topic : TOS - das Betriebssystem Author : Version : tos.hyp (5. März 2013) Subject : Programmieren/Atari Nodes : 3001 Index Size : 93602 HCP-Version : 5 Compiled on : Atari @charset : atarist @lang : @default : Titel @help : @options : +g -i -s +x +zz -t4 @width : 70 View Ref-File8.2.4.3 Objektflags des AES TOS Die Manipulationsflags eines Objektes bestimmen seine Eigenschaften. Folgende Möglichkeiten stehen zu Auswahl: Flag Bedeutung NONE (0x0000) Keine Eigenschaften. SELECTABLE (0x0001) Das Objekt ist selektierbar. DEFAULT (0x0002) Wenn der Benutzer die 'Return' oder 'Enter' Taste drückt, wird dieses Objekt automatisch selektiert. Diese Flag ist pro Baum nur einmal zugelassen. EXIT (0x0004) Beim Anklicken eines solchen Objektes wird der Dialog beendet (siehe auch form_do). EDITABLE (0x0008) Dieses Objekt kann vom Benutzer mittels der Tastatur editiert werden. RBUTTON (0x0010) Haben im selben Objektbaum mehrere Objekte die eigenschaft RBUTTON, so kann immer nur eines dieser Objekte selektiert sein. Diese Objekte sollten alle Kinder eines Elternobjekts mit der Objektart G_IBOX sein. Wird ein anderes Objekt dieser Gruppe ausgewählt, wird das zuvor selektierte automatisch deselektiert. LASTOB (0x0020) Hierbei handelt es sich um das letzte Objekt innerhalb eines Objektbaumes. TOUCHEXIT (0x0040) Der Dialog (siehe auch form_do) wird beendet, sobald sich der Mauszeiger über diesem Objekt befindet, und der linke Mausknopf gedrückt wird. HIDETREE (0x0080) Das Objekt und seine Kinder werden von objc_draw und objc_find nicht mehr bemerkt, sobald dieses Flag gesetzt ist. Weiterhin wird das Flag ab MagiC 5.20 auch von form_keybd ausgewertet, wenn Objekte zu Tastenkürzeln gesucht werden. Eine Eingabe in versteckte Objekte ist jedoch immer noch möglich. Um dies zu verhindern, muß das Flag EDITABLE gelöscht werden. INDIRECT (0x0100) ob_spec zeigt nun auf einen weiteren Zeiger, der dann auf den eigentlichen Wert von ob_spec zeigt (siehe auch OBJECT). Auf diese Weise lassen sich die Standarddatenstrukturen wie TEDINFO etc. auf einfache Art erweitern. FL3DIND (0x0200) Dieses Objekt erzeugt unter MultiTOS ein dreidimensionales Objekt (unter MagiC (ab Version 3.0) erst ab 16 Farben, und wenn der 3D-Effekt nicht abgeschaltet wurde). Im 3D-Betrieb wird dies als Indikator aufgefaßt. Bei diesen Objekten handelt es sich i.d.R. um Buttons, die einen Status anzeigen, beispielsweise Radio-Buttons. ESCCANCEL (0x0200) Das Drücken der ESC Taste entspricht einem Anwählen des Objekts mit diesem Flag. Deshalb darf es nur ein Default Objekt in einem Dialog geben. Only effective in ViewMAX/2 and later. FL3DBAK (0x0400) Dieses Objekt wird im 3D-Betrieb als Hintergrund aufgefaßt, und entsprechend gezeichnet. Es empfiehlt sich in Dialogen mit 3D-Buttons das ROOT Objekt mit diesem Flag zu belegen. Gleiches gilt für Eingabefelder und Textobjekte, denn nur so wird eine einheitliche Hintergrundfarbe erhalten. Siehe auch (0x4000). BITBUTTON (0x0400) Dieses Flag wurde mit ViewMAX beta eingeführt, wird dort aber nicht benutzt. Vermutlich enthält ein Button mit diesem Flag eine Bitmap anstelle eines Textes. Only effective in ViewMAX/2 and later. FL3DACT (0x0600) Dieses Objekt wird im 3D-Betrieb als Aktivator aufgefaßt. Bei diesen Objekten handelt es sich i.d.R. um Buttons, mit denen man Dialoge verlassen, oder sonstwie eine Aktion hervorrufen kann. SUBMENU (0x0800) Wird in MultiTOS und ab MagiC 5.10 verwendet, um Submenüs zu kennzeichnen. menu_attach setzt dieses Bit in einem Menüeintrag, um zu kennzeichnen, daß hier ein Submenü angehängt ist. Das Hibyte von ob_type enthält dann die Submenü- Nummer (128..255) d.h. Bit 15 von ob_type ist immer gleichzeitig mit SUBMENU gesetzt. SCROLLER (0x0800) Das Drücken der PAGEUP Taste entspricht einem Anwählen des ersten Objekts mit diesem Flag in dem Dialog. Das Drücken der PAGEDOWN Taste entspricht einem Anwählen des letzten Objekts mit diesem Flag. Only effective in ViewMAX/2 and later. FLAG3D (0x1000) Ein Objekt mit dieserm Flag wird mit einem 3D Rahmen gezeichnet. Ab ViewMAX/2 wird jeder Button automatisch mit einem 3D Rahmen gezeichnet. Dazu wird die Color Categorie (siehe USECOLOURCAT) benutzt. Only effective in ViewMAX/2 and later. USECOLOURCAT (0x2000) Die Farbe des Objekts ist kein Farbindex des VDI sondern ein Eintrag in einer Tabelle mit Farben für bestimmte Kategorien. Diese Tabellle hat 16 Einträge. ViewMAX benutzt die folgenden Kategorien: CC_NAME (8) Inaktive Titlezeile eine Fensters CC_SLIDER (8) Hintergrund einer Scrollbar CC_DESKTOP (10) Der Desktop CC_BUTTON (11) Buttons und andere 3D Gadgets CC_INFO (12) Infozeile eines Fensters CC_ALERT (13) Alertboxen (wird in ViewMAX und FreeGEM nicht benutzt) CC_SLCTDNAME (14) Aktive Titelzeile eines Fensters Wahrscheinlich ist beabsichtigt, die Kategorien 0 bis 7 durch die Applikation definieren zu lassen, während 8 bis 15 für das System reserviert sind. Die Einstellung wird in ViewMAX.INI (GEM.CFG in FreeGEM) gespeichert und besteht aus jeweils einen Vordergrund, Hintergrund, Füllstil und Füllindex. Only effective in ViewMAX/2 and later. FL3DBAK (0x4000) 3D background (sunken rather than raised). To check for this feature, use appl_init and check that bit 3 of xbuf.abilities is set. SUBMENU (0x8000) Not implemented in any known PC AES Querverweis: Objektstruktur im AES Objektarten des AES