•  Back 
  •  AES-Strukturen 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
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.22.16  HNDL_OBJ                                                  TOS

typedef int16_t (cdecl *HNDL_OBJ) ( void *dialog, EVNT *events, int16_t obj,
                                 int16_t clicks, void *data );

Dabei gilt:

 Parameter  Bedeutung
 dialog     Zeiger auf eine Dialogstruktur. Auf diese sollte nicht 
            direkt, sondern nur mit Hilfe der wdlg_xxx Funktionen 
            zugegriffen werden.
 events     Zeiger auf die EVNT-Strukur, die bei wdlg_evnt übergeben 
            wurde (falls der Parameter obj >= 0 ist), oder NULL.
 obj
             >=0: Objektnummer
             <0: Funktionsnummer:
                -1 = HNDL_INIT    // Dialog initialisieren
                -2 = HNDL_MESG    //
                -3 = HNDL_CLSD    // Dialogfenster wurde geschlossen
                -5 = HNDL_OPEN    // Dialog-Initialisierung abschließen
                -6 = HNDL_EDIT    // Zeichen für ein Editfeld prüfen
                -7 = HNDL_EDDN    // Zeichen wurde ins Editfeld gesetzt
                -8 = HNDL_EDCH    // Editfeld wurde gewechselt
                -9 = HNDL_MOVE    // Dialog wurde verschoben
               -10 = HNDL_TOPW    // Dialogfenster kam nach oben
               -11 = HNDL_UNTP    // Dialogfenster ist nicht aktiv
            Von diesen Funktionsnummern muß nur auf HNDL_CLSD reagiert 
            werden; alle anderen Ereignisse können je nach Bedarf 
            beachtet werden.
 clicks     Anzahl der Mausklicks, falls es sich bei obj um eine 
            Objektnummer handelt.
 data       Falls der Parameter obj eine positive Objektnummer ist, 
            wird hier die Variable user_data aus der Funktion 
            wdlg_create übergeben. Anderenfalls ist der Wert von der 
            entsprechenden Funktionsnummer abhängig.

Hinweis: Die Funktion wird aufgerufen, wenn auf ein EXIT- oder 
TOUCHEXIT Objekt geklickt wurde (in diesem Fall ist obj eine positive 
Objektnummer) oder wenn ein den Dialog betreffendes Ereignis 
eingetreten ist (dann ist obj negativ und enthält eine entsprechende 
Funktionsnummer (s.o.)).

Die Parameter werden über den Stack übergeben und die Routine darf die 
Register d0-d2/a0-a2 verändern. Falls die Funktion mit einer 
unbekannten Funktionsnummer in obj aufgerufen wird oder eine der 
obigen Funktionsnummern ignoriert werden soll, muß der Wert 1 
zurückgeliefert werden.

Querverweis: Beispiel-Implementation   wdlg_create