XCreateWidget
μπορούμε να αντλήσουμε
χρήσιμες πληροφορίες από αυτό. Για το σκοπό αυτό υπάρχουν οι συναρτήσεις:
Display *XtDisplay( Widget wigdet )
:
int XtScreen( Widget wigdet )
:
Window XtWindow( Widget wigdet )
:
Όταν δημιουργούμε ένα widget με τη συνάρτηση XCreateWidget
το widget δεν
εμφανίζεται αμέσως στην οθόνη. Για να εμφανιστεί πρέπει να δημιουργηθεί
πρώτα ένα παράθυρο μέσα στο οποίο θα μπει το widget. Την δημιουργία του
παραθυρου αναλαμβάνει η συνάρτηση XtRealizeWidget
:
XtRealizeWidget( Widget widget );H
XtRealizeWidget
δημιουργεί το παράθυρο του widget. Αν το widget έχει άλλα
widgets παιδιά δημιουργεί και τα δικά τους παράθυρα. Η τακτική που
ακολουθείται στο προγραμματισμό με το Xtoolkit είναι αφού δημιουργηθούν όλα
τα widgets του προγράμματος να καλείται η XtRealizeWidget
για το βασικό
widget. Με τον τρόπο αυτό δημιουργείται το βασικό παράθυρο του προγράμματος
μαζί με όλα τα υπόλοιπα αναγκαία παράθυρα:
XtRealizeWidget( toplevel );Μια βασική έννοια σχετική με τα widgets είναι το widget managing, η "διαχείριση των widgets". Κάθε widget πρέπει ελέγχεται από το widget πατέρα του. Το widget πατέρας είναι υπεύθυνο για διάφορα χαρακτηριστικά του ίδιου του widget, όπως η θέση και το μέθεθος του, η είσοδο που θα λαμβάνει και άλλα. Για το λόγο αυτό θα πρέπει όταν είναι έτοιμο το widget να ειδοποιούμε τον πατέρα του. Την λειτουργία αυτή επιτελούν οι συναρτήσεις
XtManageChild
και XtManageChildren
:
XtManageChild( Widget widget ); XtManageChildren( Widget *widgets, int widgets_number );Η
XtManageChild
χρησιμοποιείται όταν θέλουμε να "διαχειριστούμε" ένα widget,
ενώ η XtManageChildren
χρησιμοποιείται όταν έχουμε ένα πίνακα από widgetς με
τον ίδιο πατέρα. Τέλος υπάρχει η συνάρτηση διευκόλυνσης
XtCreateManagedWidget
, η οποία παίρνει τα ίδια ορίσματα με την
XtCreateWidget
, αλλά επιπλέον στέλνει αυτόματα το μήνυμα στο πατέρα του
widget. Τις περισσότερες φορές χρησιμοποιούμε κατευθείαν τη συνάρτηση
XtCreateManagedWidget
.