There is also "the offical Gnome 2 Developer's guide". See 59 ff. on the mentioned book...
And it's really a good idea to check the sources of gtk. I've spend the last few weeks on getting into it, and found this book to be very helpful. What's quite tedious is to get the constuctors right and the order of initialization is "quite" mind-bending.
What you should check is chapter 4 in the GObject documentation also. It does not cover everything but together with the book it' quite ok. I suggest starting with a very simple derived glass form GObject....., to better understand on base principle
One always has two
structures. A Class Structure in which you store all the function pointers and an instance structure which represents one Object. This is the most important thing to get.
Another point which is a bit harder to understand it the reference counting for memory management. It helps if you had contact before with Objective-C and/or libapr and/or
COM.
Regards
Friedrich