4.1 To XToolkit


Στο προηγούμενο κεφάλαιο έγινε περιγραφή του τρόπου προγραμματισμού των X Windows με τη βοήθεια της Xlib. Όπως φάνηκε η Xlib διαθέτει μια μεγάλη ποικιλία συναρτήσεων που επιτρέπει στο χρήστη να εκμεταλλευτεί όλες τις δυνατότητες των X Windows. Διαφάνηκε επίσης και μια ομοιομορφία στον τρόπο ανάπτυξης των προγραμμάτων. Όλα τα προγράμματα ανοίγουν κάποια παράθυρα, χρησιμοποιούν κάποιο event loop, έχουν κάποια συνάρτηση για να αντιμετωπίζουν τα γεγονότα expose κτλ. Θα ήταν βολικό όλα αυτά τα μέρη του κώδικα που επαναλαμβάνονται με την ίδια σχεδόν μορφή σε κάθε πρόγραμμα να αυτοματικοποιηθούν ώστε να μην χρειάζεται να τα γράφει κάθε φορά ο προγραμματιστής.

Προχωρώντας ένα βήμα παραπέρα βλέπουμε ότι τα προγράμματα που χρησιμοποιούν γραφικές διαπροσωπείες (Graphical User Intefaces - GUI), όπως αυτά στα X Windows, χρειάζονται συχνά κάποια "αντικείμενα" για την καλύτερη επικοινωνία τους με το χρήστη. Τα αντικείμενα αυτά είναι τα push buttons, τα menus, τα dialog boxes, τα scrollbars και διάφορα άλλα. Τέτοια αντικείμενα μπορούν να δημιουργηθούν με την Xlib, αλλά θα πρέπει κανείς να ξεκινήσει από το μηδέν. Κάτι τέτοιο απαιτεί πολύ χρόνο από τον προγραμματιστή. Μάλιστα ο χρόνος αυτός μπορεί να θεωρηθεί χαμένος καθώς δεν αναλίσκεται για την ανάπτυξη του κυρίως προγράμματος αλλά για τη δημιουργία της διαπροσωπείας του.

Με βάση τα παραπάνω συμπεράσματα δημιουργήθηκαν από νωρίς διάφορες συμπληρωματικές βιβλιοθήκες για τα X Windows. Ανάμεσα σε αυτές είναι και Xtoolkit (Xt) το οποίο είναι μια συλλογή συναρτήσεων εργαλείων για την διευκόλυνση του προγραμματιστή. Εκτός από το Xtoolkit υπάρχουν και άλλες παρόμοιες συλλογές. Το Xtoolkit όμως, και η λογική που ακολουθεί, είναι αυτό που έχει επικρατήσει σε σημείο που να θεωρείται σχεδόν standard τμήμα των X Windows. Είναι γραμμένο σε C και αποτελείται από δύο επίπεδα, τα Xt Intrinsics και το Widget Set. Τα Xt Intrinsics είναι ένα σύνολο από συναρτήσεις που υλοποιούν τους νέους μηχανισμούς του Xtoolkit, ενώ το Widget Set είναι ένα σύνολο από αντικείμενα, τα οποία ονομάζονται widget και βοηθούν στη δημιουργία της διαπροσωπείας (interface) των προγραμμάτων. Τα Xt Intrinsics στηρίζεται πάνω στην Xlib και συνεργάζεται με αυτή με αρμονικό τρόπο. Η χρήση του Xtoolkit για την ανάπτυξη ενός προγράμματος δεν αποκλείει και την ταυτόχρονη χρήση της Xlib. Στην πραγματικότητα οι δύο βιβλιοθήκες αλληλοσυμπληρώνονται. Για παράδειγμα το Xtoolkit δεν προσφέρει συναρτήσεις για τη σχεδίαση γραφικών, στην περίπτωση αυτή ο προγραμματιστής θα πρέπει να χρησιμοποιήσει τις συναρτήσεις που προσφέρει η Xlib.

Πάνω από τα Xt Intrinsics βρίσκεται το Widget Set το οποίο περιέχει τα διάφορα αντικείμενα, widget, που χρησιμοποιούνται από τα Xt Intrinsics για την δημιουργία της διαπροσωπείας των προγραμμάτων. Έχουν γραφεί αρκετά Widget Set, τα σημαντικότερα από τα οποία είναι το X Widget Set και το Motif Widget Set. Το X Widget Set αποτελεί τμήμα του τυπικού Xtoolkit. Περιέχει τα βασικά widget σε απλή, λιτή μορφή. Το Motif Widget Set δημιουργήθηκε από την Open Software Foundation (OSF) , περιέχει μια πλουσιότερη και ισχυρότερη συλλογή από widget, ενώ τα widget έχουν πιο προσεγμένη και όμορφη εμφάνιση. Η τάση τη στιγμή αυτή, τόσο από την πλευρά των εταιρειών, όσο και από την πλευρά των χρηστών είναι να επικρατήσει το Motif Widget Set. Στη συνέχεια του κεφαλαίου θα περιγραφεί το Motif Widget Set. Παρόλ'αυτά δεν θα υπάρξει πρόβλημα σε όσους χρειαστεί να χρησιμοποιήσουν κάποιο άλλο widget set, καθώς όλα έχουν γραφεί με βάση την ίδια φιλοσοφία και η μετάβαση από το ένα στο άλλο είναι εύκολη.


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