QObjects on interfaces
Andreas Pakulat
apaku at gmx.de
Fri Jul 25 11:55:26 UTC 2008
On 25.07.08 00:19:01, Aleix wrote:
> I know it is a discussion that has raised sometimes on the IRC and on the
> hackaton but it is something important enough to be discussed here.
>
> As you might know, I'm working on the KDevPlatform Kross support and, for
> Kross it is necessary that an Object, to be recognized, inherits a QObject
> to retrieve the methods it has.
>
> When I have a non-QObject class, I have 2 alternatives if I want it to be
> called from a script:
>
> make it a QObject (as I did in the patch attatched)
> -or-
> make a wrapper as I did in kross/projectitemadaptors.h
>
> I think it is much better to get it from the QObject because we don't
> duplicate any code but I also understand that in cases where it is just
> heavy to use a QObject so...
>
> Note: the attatched patch is just an example of how things change when I
> make it QObject, I don't mean it is the only cases I need that.
>
> Any thoughts?
Another problem with QObject: You can't copy them or pass them via
const-ref. The only way to pass around a QObject is by pointer and its
not really nice to change a pure "datastructure" class that is copyable
and assignable to something that needs more thinking. Specifically about
object-ownership.
Andreas
--
You need no longer worry about the future. This time tomorrow you'll be dead.
More information about the KDevelop-devel
mailing list