XtVaAppInitializeInizializza il collegamento col server e ritorna una finestra top-level, la finestra principale dell'applicazione.
Gli argomenti principali sono: un "application context" (variabile passata per riferimento, la si passa non inizializzata e XtVaAppInitialize la inizializza), il nome dell'applicazione, il numero e gli argomenti ricevuti da command-line. Piu' altri argomenti che non utilizziamo (li poniamo a NULL o 0).
XtVaCreateManagedWidgetCrea e aggiunge un widget all'interno di una finestra (che puo' essere la finestra top-level oppure la finestra di un altro widget "contenitore").
Gli argomenti sono: il nome del widget (etichetta che apparira' sul widget), la classe del widget (nome di una classe di widget tra quelle disponibili), il widget padre (all'interno del quale il widget che definiamo ora sara' aggiunto: puo' essere la finestra top-level oppure un widget "contenitore"), ed una lista di argomenti opzionali terminata da NULL (se c'e' solo NULL vuol dire che non ci sono argomenti).
Widget contenitori: al contrario di XForms (dove, vedremo, la posizione di un widget deve essere specificata all'atto della sua creazione), Xt permette di creare un widget senza specificare dove andra' collocato. Sono previsti invece widget contenitori che si occupano di posizionare i widget secondo politiche predefinite.
XtVaSetValuesAssegna uno o piu' attributi di un widget. Gli argomenti sono il widget ed una lista di coppie "nome di attributo", "valore per l'attributo", terminata con NULL.
XtVaGetValuesLegge uno o piu' attributi di un widget. Gli argomenti sono il widget ed una lista di coppie "nome di attributo", "variabile per contenete il valore per l'attributo" (passata per riferimento); la lista e' terminata con NULL.
Esempi di nomi di attributo:
XtAddCallbackAssocia una callback a un widget, tale callback sara' chiamata automaticamente ogni volta che il widget verra' sollecitato da un evento a cui e' sensibile.
Gli argomenti sono: il widget, la costante XtNcallback, il nome della funzione di callback. Inoltre un numero (che non usiamo, e poniamo =0).
La funzione di callback deve essere funzione con valore di ritorno void e come argomenti: un widget (che sara' il widget che ha scatenato la callback) piu' due puntatori (che non usiamo).
XtRealizeWidgetCiamata sulla finestra top-level dell'applicazione, disegna sullo schermo tale finestra e tutti i widget in essa contenuti.
XtAppMainLoopChiamata sull'application context (la variabile passata per riferimento a XtVaAppInitialize all'atto dell'inizializzazione). Realizza il ciclo degli eventi.
Aspetta un evento, dopo di che chiama la callback associata al widget nel quale si e' verificato l'evento, poi aspetta un altro evento ecc.
XtCreatePopupShellCrea una finestra pop-up associata ad un'altra finestra w esistente.
La finestra pop-up e' anch'essa una finestra top-level, non e' figlia
(secondo la gerarchia di annidamento) della finestra w alla quale e'
associata, e non viene mostrata quando w viene visualizzata.
La finestra pop-up e' pero' legata a w da alcuni vincoli
(per es. sparisce quando w viene iconificata).
Gli argomenti sono come per XtVaCreateManagedWidget ma il widget esistente che si specifica non e' il padre nella gerarchia, bensi' il w di cui sopra.
XtPopup, XtPopdownRispettivamente, visualizza e nasconde una finestra pop-up.
XtSetSensitiveAbilita/disabilita un widget a catturate gli eventi. Gli argomenti sono: il widget e la costante TRUE (per abilitare) o FALSE (per disabilitare).
#include <X11/Intrinsic.h> #include <X11/StringDefs.h> #include <X11/Shell.h>e l'header di ciascuna classe di widget adoperata, es:
#include <X11/Xaw/Command.h> #include <X11/Xaw/Box.h> #include <X11/Xaw/Dialog.h> #include <X11/Xaw/Label.h>