Léxico de TI › Programação › Gadget (Motif)

Gadget (Motif)

Programação Svenska → Atualizado: 2026-10-09

Um componente do Motif sem janela X própria: o pai o desenha e lhe repassa os eventos, e em troca o servidor é poupado de uma janela por botão.

Todo widget comum do Xt possui uma janela X, e janela tem custo: memória no servidor, uma ida e volta para criar e uma máscara de eventos para administrar. Um menu com vinte itens significava vinte janelas. A resposta do Motif foram os gadgets, entre eles XmPushButtonGadget, XmLabelGadget, XmToggleButtonGadget e XmSeparatorGadget, que herdam da classe RectObj do Xt, um objeto com posição e tamanho, mas sem janela. O widget gerenciador ao redor os pinta na própria janela e repassa os cliques do mouse que caem dentro do retângulo de cada um.

O preço foi a flexibilidade. No Motif 1.x o gadget não tinha cores próprias e herdava as do pai, não podia ter sua própria tabela de traduções, e quem quisesse capturar um evento precisava fazê-lo no gerenciador. Na prática eram usados quase só em menus, onde faziam diferença mensurável. A ideia ressurgiu no Swing do Java, cujos componentes leves são exatamente a mesma troca em relação aos componentes do AWT, que têm janela própria.

← Voltar ao léxico