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