<p dir="ltr">+1</p>
<div class="gmail_quote">On Apr 14, 2014 2:23 PM, "Jean-Christophe Fillion-Robin" <<a href="mailto:jchris.fillionr@kitware.com">jchris.fillionr@kitware.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div><div><div><div><div><div><div><div>Hi Folks, <br><br></div><div>Overview<br>------------<br></div>As some of you knows, CTK provides some CMake function and Qt classes to facilitate the scripting of Qt application using "PythonQt" [1][2]<br>


<br><br></div><div>I propose to remove the unmaintained support for PythonQt full wrapping and optimize the existing light wrapping.<br><br><br></div><div>If you never build CTK with wrapping enabled, you can archive this email. The proposed changes won't impact your existing projects. <br>


</div><div><br><br></div><div>Details<br>--------<br></div><div><br></div>Currently, there is a build option named "CTK_ENABLE_Python_Wrapping" allowing to enable the automatic wrapping of CTK classes and also expose the tool to "wrap" classes within your application.<br>


<br><br></div>The wrapping exists in two flavors:<br><br></div> * Light wrapping (the default)<br></div> * Full wrapping<br><br><br></div>Light wrapping: This basically check that Qt classes derives from QObject and then create "PythonQtDecorator" allowing to instantiate/delete your classes.<br>


<br></div>Full wrapping: Attempt to make automatic use of the PythonQtGenerator (used to also wrap Qt for PythonQt). <br><br><br><br></div>Proposed changes:<br>------------------------<br><br><div><div><div><div><div><div>


<div> - Removal of option related to "Full" wrapping. This never really worked. It would require us to maintain our set of "xml" files describing CTK classes. See [3] for an examples. Later one, we could also look at PySide[4] and see how it could be supported.<br>


<br></div><div> - Simplification and optimization of the existing "Light" wrapping. In project like Slicer where there is a lot of library to "light wrap" .. the CMake configuration time is considerably impacted.<br>


<br></div><div> - Associated issue: <a href="https://github.com/commontk/CTK/issues/449" target="_blank">https://github.com/commontk/CTK/issues/449</a><br></div><div><br></div><div> - To learn more about the differences between PySide/PyQt/PythonQt. See "Comparison with PyQt/PySide" on [5]<br>


<br><br></div><div><br></div><div>Let me know what you think,<br><br></div><div>Thanks<br></div><div>Jc<br></div><div><br><br>[1] <a href="http://pythonqt.sourceforge.net/" target="_blank">http://pythonqt.sourceforge.net/</a><br>
<br>[2] <a href="https://github.com/commontk/PythonQt#pythonqt" target="_blank">https://github.com/commontk/PythonQt#pythonqt</a><br>

<br>[3] <a href="https://github.com/commontk/PythonQt/blob/patched-3/generator/typesystem_core.xml" target="_blank">https://github.com/commontk/PythonQt/blob/patched-3/generator/typesystem_core.xml</a><br><br>[4] <a href="https://qt-project.org/wiki/About-PySide" target="_blank">https://qt-project.org/wiki/About-PySide</a><br>


<br>[5] <a href="http://pythonqt.sourceforge.net/Features.html" target="_blank">http://pythonqt.sourceforge.net/Features.html</a><br clear="all"><div><div><div><div><br>-- <br><a href="tel:%2B1%20919%20869%208849" value="+19198698849" target="_blank">+1 919 869 8849</a><br>

</div></div></div></div></div></div></div></div></div></div></div></div>
<br>_______________________________________________<br>
Ctk-developers mailing list<br>
<a href="mailto:Ctk-developers@commontk.org">Ctk-developers@commontk.org</a><br>
<a href="http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers</a><br>
<br></blockquote></div>