XtInitialize
. Η XtInitialize
ανοίγει την σύνδεση με το display και δημιουργεί ένα βασικό widget, το toplevel Shell όπως ονομάζεται.
Επιπλέον, εξετάζει και χρησιμοποιεί τυχόν υπάρχοντα resources που αναφέρονται στο πρόγραμμα. Τα resources αυτά
μπορούν να βρίσκονται στο .Xdefaults αρχείο, σε άλλα παρόμοια ή τελος να έχουν δοθεί απευθείας σαν ορίσματα
στο πρόγραμμα. Με την χρήση, δηλαδή της XtInitialize
το πρόγραμμα αναγνωρίζει πλέον αυτόματα όλα
τα ορίσματα εκείνα που περιγράφηκαν στην αντίστοιχη παράγραφο του δευτερου κεφαλαίου, όπως τα -display
{display_string}
, -geometry {geometry_string}
, -title {title_string}
κτλ.
Η σύνταξη της XtInitialize είναι η ακόλουθη:
Widget XtInitialize( String shell_name, String application_class, XrmOptionDescRec options, Cardinal num_options, Cardinal *argc, String argv );Η
XtInitialize
επιστρέφει μία δομή Widget, ή πιο απλά ένα widget. Το widget
αυτό είναι το toplevel shell, το οποίο αντιστοιχεί στο παράθυρο του
προγράμματος. Στη συνέχεια όσα νέα widget δημιουργηθούν θα είναι παιδιά, ή
γενικότερα απόγονοι του βασικού αυτού widget. Το πρώτο όρισμα είναι μια
συμβολοσειρά που περιέχει το όνομα (name) toplevel shell, το οποίο
ταυτίζεται με αυτό του προγράμματος ενώ το δεύτερο όρισμα είναι μια
συμβολοσειρά με την κλάση (class) στη οποία ανήκει. Το όνομα και η κλάση του
προγράμματος χρησιμοποιούνται από την XtInitialize
για την αναζήτηση των
resources που απευθύνονται σε αυτό. Και τα δύο ορίσματα υπακούουν στους
κανόνες σχετικά με τα resources που αναφέρθηκαν στις αντίστοιχες παραγράφους
του δευτέρου κεφαλαίου. Το τρίτο όρισμα είναι τυχόν επιπλέον παράμετροι που
θέλουμε να να παίρνει το πρόγραμμα εκτός από τις τυπικές που αναφέρθηκαν
παραπάνω (-display
κτλ.). Οι πληροφορίες για τις επιπλεόν παραμέτρους
δίνονται σε ειδική μορφή, με τη χρήση της δομής XrmOptionDescRec
. Η
συγκεκριμένη δομή δεν περιγράφεται εδώ. Το επόμενο όρισμα είναι το πλήθος
των επιπλέον παραμέτρων που προσθέτουμε. Τέλος, τα δύο τελευταία ορίσματα
της XtInitialize
είναι το πλήθος και οι τιμές των ορισμάτων που έλαβε το
πρόγραμμα κατά την εκκίνηση του (τα κλασικά argc
και argv
). Τα ορίσματα αυτά
είναι απαραίτητα για να μπορέσει το Xtoolkit να εξάγει αυτά που αφορούν και
αυτά που του έχουμε ορίσει εμείς.
Ένα πάραδειγμα κλήσης της XtInitialize είναι το ακόλουθο:
#includeΣτο παραπάνω απόσπασμα κώδικα αρχικοποιούμε το Xtoolkit, δημιουργώντας ένα βασικό widget - παράθυρο με το όνομα myprog που ανήκει στην κλάση Program και δεν παίρνει άλλες παραμέτρους εκτός από τις τυπικές.main( argc, argv ) int argc; char **argv; { Widget toplevel; toplevel = XtInitialize( "myprog", "Program", NULL, 0, argc, argv ); . . .