Lessico IT › Programmazione › Gadget (Motif)

Gadget (Motif)

Programmazione Svenska → Aggiornato: 2026-10-09

Un componente Motif privo di una propria finestra X: lo disegna il genitore, che gli inoltra anche gli eventi, e in cambio al server si risparmia una finestra per ogni pulsante.

Ogni widget ordinario di Xt possiede una finestra X, e una finestra ha un costo: memoria nel server, un round trip per crearla e una maschera degli eventi da gestire. Un menu con venti voci significava venti finestre. La risposta di Motif furono i gadget, tra cui XmPushButtonGadget, XmLabelGadget, XmToggleButtonGadget e XmSeparatorGadget, che ereditano dalla classe RectObj di Xt, un oggetto con posizione e dimensioni ma senza finestra. Il widget manager che li contiene li disegna nella propria finestra e inoltra i clic del mouse che cadono all'interno del loro rettangolo.

Il prezzo era la flessibilità. In Motif 1.x un gadget non aveva colori propri e ereditava quelli del genitore, non poteva avere una propria tabella di traduzione e chi voleva intercettare un evento doveva farlo sul manager. Nella pratica si usavano quasi solo nei menu, dove la differenza era misurabile. L'idea è riemersa in Swing di Java, i cui componenti leggeri sono esattamente lo stesso compromesso rispetto a quelli di AWT, che possiedono una finestra.

← Torna al lessico