Whole document tree 13. Il Widget EventBoxAlcuni widget gtk non sono associati a finestre X, sicché semplicemente disegnano sui loro genitori. Per questo motivo essi non possono ricevere eventi e se sono sovradimensionati non vengono troncati, ma rischiano di sovrapporsi, generando confusione. Se si vuole di più da questi widget si può ricorrere agli EventBox. A prima vista il widget EventBox potrebbe sembrare completamente inutile. Non disegna nulla sullo schermo e non risponde a nessun evento. Tuttavia ha una funzione: fornire una finestra X al suo widget figlio. Ciò è importante in quanto molti widget GTK non hanno una finestra X associata. Se questo da una parte risparmia memoria e migliora le prestazioni, dall'altra introduce degli svantaggi: un widget senza una finestra X non può ricevere eventi, e non taglia in alcun modo il suo contenuto. Sebbene il nome ``EventBox'' (casella di eventi) enfasizzi la funzione di gestione degli eventi, il widget può essere usato anche per limitare la dimensione dei widget figli (ma anche per altro: si veda l'esempio seguente).
Per creare un widget di tipo EventBox:
All'EventBox si può aggiungere un widget figlio:
The following example demonstrates both uses of an EventBox - a label is created that clipped to a small box, and set up so that a mouse-click on the label causes the program to exit. Il seguente esempio mostra entrambi gli usi di un EventBox - si crea un'etichetta limitata da un rettangolo piccolo, fatta in modo che cliccando con il mouse su di essa il programma termina.
Avanti Indietro Indice |