4.7 Ο ΧΕΙΡΙΣΜΟΣ ΤΩΝ ΓΕΓΟΝΟΤΩΝ


Οι φάσεις που έχουν περιγραφεί εώς τώρα για την δημιουργία ενός προγράμματος με το Xtookit είναι οι ακόλουθες:

Η τελική φαση του προγράμματος είναι ο χειρισμός των γεγονότων (events). Για το σκοπό αυτό διατίθονται από το Xtoolkit οι συναρτήσεις XtNextEvent, XtDispatchEvent και XtMainLoop:


H XtNextEvent λειτουργεί παρόμοια με την XNextEvent της Xlib, δηλαδή λαμβάνει το επόμενο διαθέσιμο γεγονός από την ουρά γεγονότων του προγράμματος. Η XtDispatchEvent αναλαμβάνει να χειριστεί αυτόματα το γεγονός στέλνοντάς το στο κατάλληλο widget ώστε να κληθεί η αντιστοιχη callback ή eventhandler συνάρτηση, άν υπάρχει. Τέλος η XtMainLoop είναι μια συνάρτηση διευκόλυνσης που μπορεί να χρησιμοποιηθεί απευθείας αντί των δύο προηγουμένων. Στη πραγματικότητα η XtMainLoop ορίζεται περίπου σαν:

    void XtMainLoop()
    {
        XEvent *event;
    
        while(TRUE)
        {
            XtNextEvent( XEvent *);
            XtDispatchEvent( XEvent *);
        }
    }
Στην πλειοψηφία των περιπτώσεων δημιουργίας προγραμμάτων με το Xtoolkit η χρήση της XtMainLoop είναι αρκετή. Η χρήση των άλλων δύο συναρτήσεων ενδίκνειται στις λίγες εκείνες περιπτώσεις που θέλουμε να επεξεργαστούμε το γεγονός περαιτέρω.


[prev] [up] [next] [contents] [index]