Replacing GTypeInterface instances.

I'm trying to wrap the Glib Interface concept for C++. Hopefully the
following makes sense:

*** Stuff that works already:

You might be aware that gtkmm currently allows overriding of GTK virtual
functions and default signal handlers by actually instantiating an
instance of a derived GTK type. These virtual functions call our C++
methods which, in turn, call the original GTK functions if they haven't
been overridden from C++.

*** Similar stuff needed for Interfaces:

We need to be able to replace the GTypeInterface-derived struct (e.g.
GtkTreeModelIFace) that was registered in the implementing type (e.g. in
gtk_tree_store_get_type()) with a derived GTypeInterface instance, or at
least a different instance of the GTypeInterface struct.

We will still need to have access to a copy of the original
GTypeInterface so that we can call the original functions if our C++
hooks have not been used to override them.

I'm hoping that you can tell me how this might be done.

Murray Cumming
murrayc usa net

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