Re: [Glade-users] adding custom widgets written with Gtkmm
- From: "Tristan Van Berkom" <tristan van berkom gmail com>
- To: "Tristan Wibberley" <tristan wibberley org>
- Cc: glade-users <glade-users lists ximian com>, gtkmm-list gnome org
- Subject: Re: [Glade-users] adding custom widgets written with Gtkmm
- Date: Sun, 21 Sep 2008 10:42:01 -0400
On Sun, Sep 21, 2008 at 6:36 AM, Tristan Wibberley
<tristan wibberley org> wrote:
[...]
> glade is calling my init-function and my tests show that double init
> does not break in a simple case.
>
> glade is calling gtkmm___custom_object_mywidget_get_type
>
> glade is not calling gtkmm___custom_object_mywidget_new but instead it
> seems to be making the object in some other way that doesn't call the
> object's constructor so doesn't set the NO_WINDOW flag or any other
> necessary part.
>
> I've looked into this, and it looks like a gtkmm widget cannot be
> created with gtk_type_new, so I'm going to try writing a real gtk widget
> adhering to the requirements of a gtk widget including support for
> gtk_type_new, then make that widget have-a gtkmm custom widget which it
> will forward all signals to. Hopefully that will work. I'm not sure how
> to indicate that all signals should be forwarded but I'm hoping it can
> be done.
Ok,
sounds like the logical thing you might try from the app programmers pov,
but its not livable as a long term solution - I think what we need to do from
glade is add a glade_widget_adaptor_construct_object (adaptor, GType type)
to allow the plugin module to do the g_object_new() for us - this way we
can offer the same routine from a support c++ module - allowing us to
create the widgets as c++ objects and just returning the wrapped GObject.
One problem I can see might be if the c++ object is somehow owner of
the GObject - we need to create the c++ object in a way that it will
die when the GObject dies (bu refcount), and not when it goes out of
scope in the plugin (probably just a matter of adding an extra ref ?)
Can you checkout glade3 from trunk ? I can add a backend
object-constructor-function
for your testing purposes, this part would be a sinch for me...
Cheers,
-Tristan
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]