IT-lexicon › Programmeren › Applicatiecontext (Xt)

Applicatiecontext (Xt)

Programmeren Svenska → Bijgewerkt: 2026-10-10

De houder van alles wat bij een programma hoort in plaats van bij een venster (displayverbindingen, gebeurteniswachtrij, timers en achtergrondwerk), ingevoerd om van de globale variabelen af te komen.

De eerste versie van de X Toolkit Intrinsics ging uit van één programma met één display en één eventlus, en bewaarde haar toestand in globale variabelen: men riep XtInitialize en XtMainLoop aan en accepteerde dat de bibliotheek niet twee keer in hetzelfde proces gebruikt kon worden. X11R3 introduceerde in 1988 het type XtAppContext als expliciete eigenaar van dat alles. Het programma maakt een context aan, opent daarbinnen zijn displays, registreert timers met XtAppAddTimeOut, bestandsdescriptors met XtAppAddInput en achtergrondwerk met XtAppAddWorkProc, en draait XtAppMainLoop, die op alles tegelijk wacht. R4 bundelde de opzet in XtAppInitialize, en de resourcedatabase uit Xresources wordt per display binnen de context geladen.

De oude aanroepen bleven bestaan, werden als verouderd gemarkeerd en intern herschreven op een verborgen standaardcontext, zodat de voorbeelden in de studieboeken ze jarenlang bleven gebruiken. De mogelijkheid om meerdere contexten te hebben, met een bibliotheek die haar eigen Xt draait binnen het Xt-programma van een ander, werd zelden benut. De echte winst was dat de eventlus iets werd dat je zelf kon bezitten en aansturen met XtAppPending en XtAppProcessEvent, in plaats van het programma over te dragen aan XtMainLoop en nooit meer terug te krijgen. Het patroon, één object dat timers, invoerbronnen en hoofdlus beheert, leeft voort in GLib's GMainContext en Qt's QCoreApplication.

← Terug naar het lexicon