On Thu, Dec 16, 2010 at 7:09 PM, Benjamin Poulain < [email protected]> wrote:
> On 12/16/2010 07:03 PM, ext Michael Ditum wrote: > >> 1. What's the best way of handling adding event listeners and raising >> events with my javascript API? >> > > The solution commonly used is to do a signal-"slot" connection between a > signal from Qt and a Javascript function: > > someObject.youSignal.connect(jsFunction); > > 2. Is it possible to return an object from a javascript call that >> behaves like an object added with addToJavaScriptWindowObject ? >> > > Passing a QObject by value cannot work. > > From a quicklook at convertQVariantToValue(), I think passing a pointer > should work. A QVariant with with the type QMetaType::QObjectStar should > give you a nice conversion. > > I suggest you to set a breakpoint in convertQVariantToValue > (qt_runtime.cpp) to figure what is happening in your app. > Benjamin, Thanks for the quick reply. Both of those suggestions worked perfectly! I didn't realise you could connect to signals from javascript, the documentation for addToJavaScriptWindowObject only lists properties and slots. It would probably be a good idea to get the documentation updated, should I raise this on http://bugreports.qt.nokia.com or somewhere else? As for returning an object to javascript I ended up using the following code which worked perfectly... QVariant JSBinding::GetStuff() { QVariant var(QMetaType::QObjectStar); var.setValue((QObject*)item); return var; } Where item is a pointer to a class extending QObject with properties, signals and slots. So the two things I was missing was the specifying of the Variant type and casting the item I wanted to return to a QObject pointer. I'm hoping to attempt a blog post with everything I've learnt in the next couple of days as there are plenty with how to use addToJavaScriptWindowObject for properties and simple slots but I couldn't find any for the questions I had (at least there aren't any using the terms I was googling). Again, thanks a lot! Mike
_______________________________________________ webkit-qt mailing list [email protected] http://lists.webkit.org/mailman/listinfo.cgi/webkit-qt
