Re: GTK not good for newbies?



Matthew A Tobiasz wrote:
A centralized function list would be great. Right now I use the GTK Object Hierarchy:
        http://developer.gnome.org/doc/API/2.0/gtk/ch01.html
as my "centralized" location for searching. I might just be ignorant here and such a thing does exist, but as of Tue Feb 17 00:20:59 MST 2004 I haven't found it.

I've always been using this one, quite handy ;-)

One documentation section that I think is lacking is docs on signals. The general usage and implementation docs are there, but I haven't found a complete list of the available signals that can be connected to each widget. This would be nice.

    Maybe this would be nice, maybe it would be confusing to see a list
of signal names all in a row. Each signal name implies something to
do with the class they belong to (i.e. the "add" signal from the
GtkContainerClass, probably there is another "add" signal that belongs
to another class).

I think that the hardest thing for me to understand was GObject, GType,
GClosure/GMarshaler, and most importantly, the GMainLoop. The GMainLoop
needs to be understood by the "newbie" *first* (at least the "newbie" must
be informed that he is about to write *event based* code).

An interresting observation is how GTK+ keeps some static references
and some implicit objects such as GMainContext (and the GMainLoop created
and run by gtk_init/gtk_main). On the one hand, these implicit black magic
things make it easy for the newbie to proceed to the "job at hand"
but forcing the new GTK+ programmer to create this by hand
(at least adding a GMainContext parameter to `g_timeout_add' & friends)
would force him to understand the basic pricipals of event based
programming (and the GTK+ event loop "modal").

This particular thing still has me looking back at the source every
once and a while (when you're running multiple threads with nested
mainloops and all that noise, what is the effect of g_timeout_add ?)

Although I have to say that the former (GObject, GType et al) has seen
some significant documentation since I started out.

Just food for thought,

Cheers,
                              -Tristan






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]