QtScript Smoke Bindings

Ian Monroe ian at monroe.nu
Wed Sep 16 00:29:41 CEST 2009

I've already gone over the reasons for this project on both mailing
lists. Since then I've cleaned up the code some and added a bunch of
//TODOs and //FIXMEs so the repo is ready for other contributors.

Note that unlike other language programming projects you get to use a
nice C++ Qt api to bind with, instead of some half-public C binding
api. :)

The repo is at http://gitorious.org/qtscript-smoke/qtscript-smoke and
I've given the kde-developers group commit access.

I'd rather people just push to mainline instead of creating their own
clones. Ask the sysadmins to add you to the kde-developers group or me
and I'll just add you as a committer to this repo.

Currently it can support code such as the following:
hello = new QWidget();
hello.setMaximumWidth( 500 );
hello.setWindowTitle( "QtScript Smoke Test: it kind of works" );

No screenshot necessary, I think you all can imagine what that looks like. ;)

There's still a lot missing though. Currently its only 300 LOC, but
thats because I've avoided the more complicated marshaling, error
handling and user subclassing. (The latter might be tricky since JS is
prototype based so mapping OOP into it is always a bit of a hack.)

Goals of project:
* Low memory usage
* To provide access to the Qt API
   - and trivial to add other Smoke bindings
* quick start time (since it will be loaded on Amarok's startup)
* To be mostly source compatible with QtScript Generator scripts (eg
not 100% compat, but make it a 5 minute job to make a script work in
both environments)

You can find me on Freenode as 'eean' in the normal places.

Ian Monroe

More information about the Plasma-devel mailing list