Hi, I'm currently working with shiboken to create a binding of a plot facility for our sofware written in Qt/C++. Shiboken works pretty well and it's easy to use (even though I had to add a lot of tricky and low level code injections using typesystem files), but I have questions/remarks about some features in Shiboken.
First of all, regarding the keywords support in Shiboken: When a C++ function uses some default arguments, shiboken introduces a keywords dictionnary in the wrapped function. It checks that the keyword argument is not already given by a "non-keyword" argument, but the user is not warned if a wrong keyword was given. It would be nice for Shiboken to throw an exception when the entered keyword is unknown; like the config method of a Tkinter Label, for example, that throws a TclError when an unknown option is used. Furhermore, Shiboken takes the default value of the C++ function when the associated keyword is not given. But, could it be possible to implement a mechanism that allows more flexibility? For example, a way to specify in the typesystem files a function that retrieves the argument value to use: For a function using a Qt::Penstyle as an argument with Qt::SolideLine as default value, we could tell shiboken to use a C++ function that returns the current line style: Currently generated by Shiboken: Qt::PenStyle cppArg1 = pyargs[1] ? Shiboken::Converter<Qt::PenStyle >::toCpp(pyargs[1]) : Qt::SolidLine; Here it would be preferable to have: Qt::PenStyle cppArg1 = pyargs[1] ? Shiboken::Converter<Qt::PenStyle >::toCpp(pyargs[1]) : cppself->lineStyle(); Also, regarding the documentation, is it possible to inject some doc string inside a python function using the typesystem files, in order to have documentation at runtime using the the "__doc__" attribute or help function? BTW, felicitation for the release, you did a great job! BR Alberto Soto
_______________________________________________ PySide mailing list PySide@lists.pyside.org http://lists.pyside.org/listinfo/pyside