[prev in list] [next in list] [prev in thread] [next in thread]
List: gtk-devel
Subject: Re: Pluggable widget types and implementations
From: Tim Janik <timj () imendio ! com>
Date: 2006-12-08 17:31:08
Message-ID: Pine.LNX.4.62.0612081823350.27682 () master ! birnet ! private
[Download RAW message or body]
On Fri, 8 Dec 2006, Tristan Van Berkom wrote:
> On Fri, 2006-12-08 at 17:49 +0100, Tim Janik wrote:
> [...]
>>> This abstraction would ensure that there is no confusion at the GType
>>> level, if we start substituting types at the GType level then types
>>> will inevidably be substituted underneath unsuspecting code, that
>>> doesnt sound safe to me at all,
>>
>> we will not do that. never ever. i've adressed that in another
>> email already:
>> http://mail.gnome.org/archives/gtk-devel-list/2006-November/msg00133.html
>> i.e. we guarantee that:
>> G_TYPE_FROM_INSTANCE (g_object_new (TYPE_FOO, NULL)) == TYPE_FOO.
>> holds, you may assert that in your code. we will not break that guarantee.
>>
>> let me use your words: we will not substitute types at the GType level.
>
> I see, thank you very much for your patience in describing this,
> for my concerns:
> a.) G_TYPE_FROM_INSTANCE(g_object_new(TYPE_FOO)/foo_new()) == TYPE_FOO
these are actually two cases, g_object_new and foo_new.
if you read my original proposal again:
http://mail.gnome.org/archives/gtk-devel-list/2006-November/msg00125.html
you will see that i was suggesting that we change all gtk_*_new() functions
(note, this affects only GTK functions) to return instances *conforming*
to the requested widget types. that's what the pluggable widget types for
Gtk+ is all about. so for the GTK namespace, only these will hold:
G_TYPE_FROM_INSTANCE (g_object_new (GTK_TYPE_FOO, NULL)) == GTK_TYPE_FOO
GTK_IS_FOO (gtk_foo_new())
> b.) IS_FOO (g_factory_create (TYPE_FOO))
this should hold. yes.
so for Gtk+, the idea is to change internals like this:
GtkFoo*
gtk_foo_new (void)
{
- return g_object_new (GTK_TYPE_FOO, NULL);
+ return g_factory_create (GTK_TYPE_FOO, NULL);
}
> Knowing that the above assertions hold, completely settles my concern.
hope your concerns are at least 66.6% settled now ;)
>
> Cheers,
> -Tristan
>
>
---
ciaoTJ
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic