The GleSelector
---------------

The Gle selector is a general purpose widget for user interaction on widget
selections. It comes in handy whenever a widget within an application needs
to be selected or something needs to get dropped onto a widget.
The selector runs a recursive main loop within Gtk so the selection results
can be retrived easily from a single function call.
Three signals are provided that can be used to customize the selectors
behaviour, "candidate_selected" is emitted when the selection ended
successfully and "abort" is emitted if a selection failed.
The third signal "candidate_check" is emitted during the selection, whenever
the user enters a new widget during a selection.
The "candidate_check" signal is used to determine whether a currently selected
widget is valid target, or to adjust the resulting candidate, e.g. if a parent
of a pending candidate would be more appropriate.
For drag targets, an extra window can be specified that is dragged by the user
all along the way of the selection that is being made.
Any widgets not belonging to the selector window itself may embody a valid
candidate, no differentiation is made for NO_WINDOW widgets.
Examples for the use of GleSelector can be found in glednd.c and gleshell.c.
