As input, you get your GdkEvents and as output, you have a bunch of basic signals
that are "emmited" at the GtkWidget level and handlers are "implemented" by various
subclasses.
you should probably read this:
http://developer.gnome.org/doc/API/2.0/gdk/gdk-Event-Structures.html#GdkEventButton
when a "clicked" signal is emitted (by the GtkButtonClass); the mouse button has
already been "released". now wether you mean the "Left button", the "button down" or
"button press" by "First" is an entirely different question.
Hope this helps, -Tristan