Well I got in a few good nights of hacking on KJSEmbed and am getting back up to speed again. Last night I fixed a big problem rich was having in the scribble demo.
I decided some time ago to take the easy way out on our lower level pointer proxies, and used void * vs templates. Well it came back to haunt me. One neat feature about void * is that it trashes multiple inheritance. This for 99% of Qt is not really a big issue, save for one class QWidget. QWidget inherits from QObject and QPaintDevice. Since we wanted the QPaintDevice back and not the QObject qobject_cast and dynamic_cast both failed. To get around this I implemented a crude subset of the boost::any object (I wish we would have taken up Zacks version from gadget). Its not perfect or complete, but it works enough to get drawing on QWidgets working again.
I think the next big step is going to get a demo of how to use KJSEmbed in your KDE 4 applications.