IT-lexicon › Programmeren › Gadget (Motif)

Gadget (Motif)

Programmeren Svenska → Bijgewerkt: 2026-10-09

Een Motif-component zonder eigen X-venster: de ouder tekent hem en geeft hem zijn events, waardoor de server niet voor elke knop een venster hoeft bij te houden.

Elke gewone widget in Xt bezit een X-venster, en een venster kost iets: geheugen in de server, een rondreis om het aan te maken en een eventmasker om te beheren. Een menu met twintig items betekende twintig vensters. Motif loste dat op met gadgets, waaronder XmPushButtonGadget, XmLabelGadget, XmToggleButtonGadget en XmSeparatorGadget, die erven van Xt's klasse RectObj: een object met positie en grootte maar zonder venster. De omringende manager-widget tekent ze in zijn eigen venster en stuurt muisklikken door die binnen hun rechthoek vallen.

De prijs was flexibiliteit. In Motif 1.x had een gadget geen eigen kleuren maar erfde die van de ouder, kon hij geen eigen translation-tabel hebben en moest wie een event wilde afvangen dat op de manager doen. In de praktijk werden ze vrijwel alleen in menu's gebruikt, waar ze meetbaar verschil maakten. Het idee dook later weer op in Swing van Java, waarvan de lichtgewicht componenten precies dezelfde afweging zijn ten opzichte van de vensterbezittende componenten van AWT.

← Terug naar het lexicon