[Kde-bindings] QPaintDevice bitBlt() missing from SMOKE runtime

Richard Dale Richard_Dale at tipitina.demon.co.uk
Tue Aug 26 20:29:12 UTC 2003


On Tuesday 26 August 2003 20:46, Germain Garand wrote:
> Le Mardi 26 Août 2003 08:57, Richard Dale a écrit :
> > So if it doesn't find the method in the normal way, it has a look in
> > QGlobalSpace before giving up. There would be a problem if there was
> > already a method with that name in the current class because it would
> > hide any global ones - maybe that doesn't matter in practice.
>
> I have tested this solution in PerlQt and it works fine but I have to say I
> don't find it entirely satisifying.
> It's a kind of simulated inheritance, but classes don't _truely_ inherit
> from GlobalSpace (unlike they all formally inherit the Qt namespace for
> instance).
>
> So there is logical inconsistancies: you can call qCompress() from a
> Qt-derived class, but not from your main package.
> And what about Qt::Scrollview.qCompress() ? That doesn't feel right.
>
> I think I'd rather implement a package that you can request, and that will
> import all the GlobalScope symbols into the current namespace (with a "use
> Qt::GlobalScope;" statement).
> Not sure if it's a real problem though.
Well although I've adjusted from Qt::PaintDevice.bitBlt() to Qt.bitBlt() 
surprisingly fast, I don't like the idea of needing to import a GlobalScope 
namespace specially - I'd rather have the 'hidden method names' problem.

It might be a good idea to have a different global namespace for KDE (KDE:: or 
kde::) where 'renegade' methods like the KImageEffect functions can be 
associated with class methods in a KDE GlobalSpace pseudo class akin to the 
Qt one.

-- Richard


More information about the Kde-bindings mailing list