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