On Tue, 2006-09-19 at 14:03 +0200, Murray Cumming wrote: > > On Tue, 2006-09-19 at 11:43 +0200, Johannes Schmid wrote: > >> -----BEGIN PGP SIGNED MESSAGE----- > >> Hash: SHA1 > >> > >> Hi! > >> > >> I tried out the examples in gtkmm to find out if they are able to handle > >> their GTypenames correclty. Unfortunately they do not: > >> > >> std::cout << g_type_name(get_type()) << std::endl; > > Maybe get_type() isn't returning what we think it's returning, but I'm > fairly sure that custom gtypes are being created. > > >> in the cellrenderercustom example just gives me > >> "gtkmm__GtkCellRenderer". But of course g_object_new(type) will give not > >> give me a custom but a standart CellRenderer. > >> > >> Anyway, I still need something that gives me a custom type that > >> g_object_new can handle. > > > > i am confused. since g_object_new cannot possibly instantiate a C++ > > object, what is the value of get_type() returning a value that can be > > used at the C level? > > > > you can't create C++ objects (the ones that gtkmm is composed of) from C > > without a *lot* more glue code (eg. factory functions declared extern > > "C" that return each type of object as a gpointer etc etc) > > But maybe we really can make it work, by registering an appropriate init > function for our new GType. It would be clever though.
Seems as if what the questioner wants is a virtual copy constructor, it ought to be trivial to do this using the C++ type system instead of messing around in C. Cheers, Tim _______________________________________________ gtkmm-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtkmm-list
