Re: libgoocanvasmm



> Hey,
>
> Murray made me do it.
>
> I've started work on libgoocanvasmm.

Great.

>  So I'll be asking lots of questions
> about these rather frustrating gmmproc macros.
>
> First question:
>
> What is going on with the _WRAP_VFUNC macros?
>
> I've got my vfuncs defined (I assume correctly) in
> libgoocanvas_vfuncs.defs
>
> I looked at treemodel.hg in gtkmm, its got a _WRAP_VFUNC and _WRAP_METHOD
> for some of its methods.  I'm confused.  But following suit.
>
> In one place this works out all right for me.  In another place, if I do
> the
> _WRAP_VFUNC and _WRAP_METHOD both, gmmproc tells me the original function
> isn't being wrapped.

No vfuncs are wrapped by _WRAP_METHOD(). You have just been unlucky and
seen vfuncs (function pointers in C structs) and functions (C functions)
that have the same name.

I mentioned that recently here:
http://mail.gnome.org/archives/gtkmm-list/2006-September/msg00141.html

So just wrap a vfunc with _WRAP_VFUNC() if you want to wrap it.

You can probably ignore the vfuncs anyway. It's unlikely that you'll want
to override them from C++, but they add per-object and code-size (linked
symbols) overhead. I suggest that you wrap them but comment them out in
the .hg file, so we can double-check later whether we need them.

> Oh, and I almost forgot, how, when, and why do I use the
> ./tools/extra_defs_gen/generate_defs_goocanvas.cc thing?
>
> Docs kinda skipped that too.

See "Generating the signals and properties .defs" here:
http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/aphs02.html


Murray Cumming
murrayc murrayc com
www.murrayc.com
www.openismus.com




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