[Kde-bindings] Splitting up the SMOKE library
Thomas Moenicke
tm at php-qt.org
Sun Jul 15 13:08:07 UTC 2007
I think its actually a good idea. I already talked to Richard about improving
the smoke API and it seems to be important not to break the current
smoke-based bindings, so could you do it in a branch?
Your idea allows us not only to split the smoke into its logical pieces, also
it would be easier to add additional headers e.g. the ones of kdepim/akonadi.
For doing it we need to resolve the dependencies of the class hierarchy in
any way which could be done either with modifying the kalyptus generation
script, but I would prefer a 'smoke browser' written in C++ that gives
information about the installed classes and methods of an existing smoke and
kalyptus could ask it when it generates e.g. smokeqwt. The benefit of such a
thing would be the option of generating an API reference for documentation,
asking for classes, methods and arguments in smoke and resolving
dependencies.
Basically having multiple smoke instances in one binding sounds feasible
because its already prepared.
On Sunday 15 July 2007 13:56:07 Arno Rehn wrote:
> Hi,
>
> I just thought about splitting the SMOKE libraries, so that SmokeKDE would
> only contain the KDE classes, SmokeQsci only QScintilla classes etc.,
> because at the moment it is rather ugly that we need to have all the Qt
> classes again in SmokeKDE and can't split Qwt and QScintilla from SmokeQt.
> In theory it is quite simple and I think I have something like a concept.
> However it would require one or more changes in the API of Smoke, so we
> also would have to update the sources of all the bindings that depend on
> Smoke. The one change that will probably affect most parts of the bindings
> is that I'd plan to make Smoke::Index a struct that looks like
>
> struct Index {
> short index;
> Smoke *smoke;
> };
I dunno how it is in Qyoto, in QtRuby, PHP-Qt and probably in PerlQt the
pointer to the actually smoke is already in the struct smokeruby_object and
could be set to the different smoke instances of smokekde, smokeqt, smokeqwt
etc. It should automatically ask the parent smoke for classes and methods in
case they cannot be found.
> What do you think of splitting up Smoke? If you want to, I can give more
> details on what I would do to split it up and make it work correctly.
Please! :)
--
Thomas
More information about the Kde-bindings
mailing list