Re: GObject tutorial next version



On Fri, 2004-27-08 at 02:57 +0000, Tiago Cogumbreiro wrote:
> One thing I've learned from reading the big reference on GObject
> documentation[1] is that howtos/quick refs/faqs and theoretical
> explanations don't, usually, mix. While reading it I usually wanted to

I disagree. Sometimes you want to know how without why, and sometimes
you want to know why. Thats why there is all kinds of types of doc to
look at. I always have a tutorial and reference open beside each other.


> Maybe you could explain in the document why you chose GTypeInstance and
> why we use GObject instead. The same thing regarding to GTypeClass
> versus GObjectClass. Also, when G_DEFINE_TYPE_EXTENDED is introduced the
> reader should know the differences between these types, otherwise i
> think it's a bit confusing on why the object definition changed because
> of one macro. Wasn't the reader supposed to know how to define a class
> already? Why did the procedure changed?

I already have the following in the doc:

<notice>
While we will reuse the ideas and patterns we have discussed above
throughout the text, attempting to create a fundamental type that
behaves as it should with other GTK+ code is very difficult and in-
depth. It is recommended that you always create new types by deriving
from GObject, since it does a lot of background work to make things
behave how GTK+ assumes it should. From now on all our objects will
derive from GObject, which will be the subject of our next section.
</notice>

I have introduced the macro after GObject.

> 
> One more thing, introducing constructors before properties doesn't seem
> to be the best thing to do, because constructors are only used to check
> properties passed through the g_object_new marked with
> G_PARAM_CONSTRUCT. Therefore i think you should just introduce the user
> the _init method. Also why do you show _finalize and _dispose? For one
> thing readers will usually only use _finalize, another is that you don't
> explain the difference between them.

I actually tried my best to explain the difference between them. Its all
there in the text. Did you skip the text and go straight to the code? ;)

> So maybe first you could explain the _init and _finalize methods then
> explain properties and the go back and explain the _constructor.

Constructor is presented first since its a more fundamental OO concept
than properties (which is just a nice mechanism). But in reality the two
are intertwined. If I show properties first then people that means
GObject is basically the LAST thing I show. Theres no perfect way to
treat something so complicated.

Cheers,
Ryan




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