11.07.2015 Views

Download document (10.35 MB) - Escuela Superior de Informática ...

Download document (10.35 MB) - Escuela Superior de Informática ...

Download document (10.35 MB) - Escuela Superior de Informática ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

68 Capítulo 3. Antece<strong>de</strong>ntes, Estado <strong>de</strong> la Cuestión3.3.4 EventosA<strong>de</strong>más <strong>de</strong>l mecanismo <strong>de</strong> señales, existe un conjunto <strong>de</strong> eventos, a los cuales pue<strong>de</strong>nasociarse funciones capaces <strong>de</strong> respon<strong>de</strong>r cuando éstos se producen. Algunos <strong>de</strong> estos eventosson:e v e n tb u t t o n p r e s s e v e n tb u t t o n r e l e a s e e v e n tm o t i o n n o t i f y e v e n td e l e t e e v e n td e s t r o y e v e n te x p o s e e v e n tk e y p r e s s e v e n tf o c u s i n e v e n tf o c u s o u t e v e n ts e l e c t i o n n o t i f y e v e n to t h e r e v e n tDe todas ellas, las señales <strong>de</strong>lete event y <strong>de</strong>stroy, son <strong>de</strong> las más importantes. La primera<strong>de</strong> ellas se produce cuando una ventana va a ser <strong>de</strong>struida, mientras que la segunda se envíacuando la ventana esté siendo <strong>de</strong>struida. La ventana <strong>de</strong> nivel superior <strong>de</strong>be incluir una retrollamadapara el suceso <strong>de</strong>lete event, porque este suceso indica que el usuario quiere cerrar laaplicación.Para conectar una función <strong>de</strong> respuesta a alguno <strong>de</strong> los eventos anteriores se <strong>de</strong>be usar lafunción gtk signal connect, tal y como se comentó anteriormente, utilizando en el parámetroname uno <strong>de</strong> los nombres <strong>de</strong> los eventos que se acaban <strong>de</strong> mencionar. La función <strong>de</strong> respuestapara los eventos tiene un forma ligeramente diferente <strong>de</strong> la que tiene para las señales:void c a l l b a c k f u n c ( GtkWidget ∗ widget ,GdkEvent ∗ event ,g p o i n t e r c a l l b a c k d a t a ) ;GdkEvent es una estructura unión cuyo tipo <strong>de</strong>pen<strong>de</strong> <strong>de</strong> cual <strong>de</strong> los eventos anterioreshaya ocurrido. Para que podamos <strong>de</strong>cir qué evento se ha lanzado, cada una <strong>de</strong> las posiblesalternativas posee un parámetro type que refleja cual es el evento en cuestión. Los otros com-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!