[Kde-bindings] playground/bindings/kimono

Richard Dale rdale at foton.es
Tue Feb 27 08:34:26 UTC 2007


On Monday 26 February 2007, Sebastian Sauer wrote:
> Arno Rehn wrote:
> >> [   cut   ]
> >
> > Ok, I found out why QDBusAbstractAdaptor doesn't work with the current
> > way of implementation. It seems like a call to 'staticMetaObject' via
> > Smoke doesn't return the same meta object as we would get when calling
> > QDBusAbstractAdaptor::staticMetaObject - I don't know what's going wrong
> > there, but the returned object is definitely an other one.
>
> QtDBus dynamicly builds it's metaobjects :) The static one has only some
> functionality to e.g. relay/redirect signals, etc. while the instance
> metaObject() contains additional signals/slots build from the content of
> the XML iirc.
Oh, I didn't know that. But as long as we return a correct QMetaObject at 
runtime it won't be able to tell that we constructed it at runtime, and so it 
should still work. It works fine in QtRuby apart from a problem with 
marshalling QDBusVariants which I don't think is related to how the 
QMetaObjects are constructed.

> > I don't know why this problem exists or why it is important 'which' meta
> > object is set as a parent, because the signals/slots/classinfos/whatever
> > are the same since it is a native Qt class and not a custom one created
> > in C#.
>
> But a custom one created in C++ and iirc - it's a while I looked last time
> at the code - the metaobjects are passed around as "messages" and that's
> why it's needed to have access to there parents.
Ooh, that sounds exotic. It really seems you have to look at the code to find 
out exactly what's going on.

> p.s. sorry if that isn't news for you and I just did understood the
> question wrong. Well, at least I am able to show that way that I monitor
> this list cause I really like the work you both did and do with Qyoto. So,
> thanks! :)
Well constructing QMetaObjects at runtime is interesting for bindings in 
general, and it would be really nice if there was an official Qt api for it 
in my opinion. And getting rid of C++ '*' types would be even better.

-- Richard




More information about the Kde-bindings mailing list