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.
More information about the Kde-bindings