[Kde-bindings] Splitting up the SMOKE library

Ashley Winters jahqueel at yahoo.com
Tue Jul 17 07:00:45 UTC 2007


--- Thomas Moenicke <tm at php-qt.org> wrote:
> 
> The kalyptus generator should generate the qt_Smoke instance in
> smokedata.cpp only for the Qt smoke, for KDE smoke it should have
> a kde_Smoke instance which has a pointer to qt_Smoke. In case the
> inline methods of kde_Smoke don't find the index they can ask the
> qt_Smoke before it returns 0.
> Thus we can create a hierarchy of dependencies and don't need to
> touch too much in the implementations:
> 
> + qt_Smoke
> +--+ qwt_Smoke
> +--+ kde_Smoke
>     +--+ whatever_in_kde_Smoke
> +--+ qscintilla_Smoke 
> 
> I think this way would follow the design currently implemented in the
> 
> bindings, but i would like to hear the opinion of Ashley though.

Yeah, a single-inheritance hierarchy should work. You first search your
"local" copy of smoke, and if something's missing you forward the
search to your parent.

I went through my old code to try and refresh my memory of the issues
with combining Smoke libraries. PerlQt had a class already written for
merging Smoke instances, but it was never made to work.

and the SmokePerl class declaration (with comments) here:
http://search.cpan.org/src/GGARAND/PerlQt-3.008/PerlQt/smokeperl.h

And the implementation via the SmokePerlQt class here:
http://search.cpan.org/src/GGARAND/PerlQt-3.008/PerlQt/smokeperl.cpp

It seems I even implemented a Smoke API for loading multiple libraries
from within Perl:

http://perlqt.cvs.sourceforge.net/*checkout*/perlqt/PerlQt-3/PerlQt/smokeperl.cpp?revision=1.1.2.16&pathrev=dev-3_0_0

Apparently I went homeless before finishing that. It's too bad, cause
that was some good stuff. I can hardly remember how it works, now. :)



More information about the Kde-bindings mailing list