Widget Management:

 
GtkFC use an internal widget manager. The widget manager use
a tree to store widgets.

How the widget tree is build ?

When the toplevel window of the application is created, it was
placed at the top of the tree.
To place a child widget in the tree, a call to the Insert(Gwidget*)
method must be performed.  The widget is placed in the tree as
a child of the object wich called Insert.  And a call to the OnInit()
method of the child is performed. Calls to Insert or GwindowMgr::Add
doesn't be performed in a constructor, because the widget is not in
the tree.

How GtkFC handle events ?

When a widget able to send event is created, a call to the connect
method of gtk is performed. The function used to receive events is
an hiden global C function. This function search for the Gwidget wich
encapsulate the GtkWidget sending the event. When the widget is found,
a call tio its OnEvent method is performed. Normally,  this method call
the OnAction method of the widget. By default, this method does nothing.
But for some widgets, like Gbutton, the event is sending to the parent
widget, and a call to its OnAction method is performed.