Δημοσιεύτηκε: 26 Ιουν 2011, 22:02
από giannosfor
Παράθυρο με δυνατότητα τερματισμού

Αν θέλουμε το παράθυρο να έχει δυνατότητα τερματισμού θα πρέπει κάνουμε τα ακόλουθα.
Στο παράθυρο όταν πατηθεί το κουμπί τερματισμού που είναι συνήθως το "x" στέλνει ένα σήμα destroy δηλαδή να κλείσει το παράθυρο.
Εμείς πρέπει να συνδέσουμε αυτό το σήμα με μία συνάρτηση που να κλείνει το πρόγραμμα.
Η γραμμή κώδικα που χρειάζεται να συμπληρώσουμε είναι:

Κώδικας: Επιλογή όλων
g_signal_connect (window, "destroy",G_CALLBACK (gtk_main_quit), NULL);

Σαν πρώτη παράμετρο πέρνει το αντικείμενο στο οποίο θα παρατηρηθεί το γεγονός που θέλουμε να συνδέσουμε.Σαν δεύτερη παράμετρο πέρνει το σήμα που θέλουμε να χειριστούμε.Η τρίτη παράμετρος είναι η συνάρτηση που θέλουμε να εκτελεστεί όταν το σήμα παρατηρηθεί.Θα μπορούσαμε να χρησιμοποιήσουμε οποιαδήποτε συνάρτηση ακόμα και συναρτήσεις που έχουμε γράψει εμείς.Η συγκεκριμένη τερματίζει το πρόγραμμα.Αυτό που θέλαμε.Τέλος η τέταρτη παράμετρος είναι τα δεδομένα που θέλουμε να περάσουμε στη συνάρτηση που καλούμε.Εδώ δε χρειάζεται να περάσουμε τίποτα και γι'αυτό η τιμή είναι NULL.