<div dir="ltr">Hi Ondrej,<div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 24, 2016 at 12:48 PM, Ondřej Pešek <span dir="ltr"><<a href="mailto:pesej.ondrek@gmail.com" target="_blank">pesej.ondrek@gmail.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>the period of GSoC starts. I just want to present myself. My name is Ondrej Pesek and I'm from Czech Republic. I study geodesy, cartography and geomatics at Czech technical university in Prague. My project for GSoC 2016 is reimplementation of GUI generated from xml, wxpython -> PyQt. You can see everything at [1]. <br><br></div><div>I'm open to all your requests, comments and hates. Don't hesitate to write me, I would appreciate it. <br></div></div></blockquote><div><br></div><div>Perhaps, it could be useful to have a look at pygrass `Module` class [0], that already parse the generated xml and instantiate `Parameter` class [1] that validate the input from the user in the `_check_value` function [2]. So should be possible to dynamically generate a `Qt Widget` from a `Parameter` instance and then compose everything in complete final `QtWidget`/`QtDialog`. If you think that  in the `Module` / `Parameter` class definition something is missing/wrong or bad implemented, after discussion, we can change it. They were not developed with this use case in mind and perhaps some changes are needed however I do think they are a starting point...</div><div><br></div><div>You can see a good implementation of this logic in the fromlayout project[3] that it is well written, support both PyQt and PySide and Python2 and Python3.</div><div><br></div><div>Together with Francesco Geri we started writing a plugin for QGis (a proof of concept (it works, but a lot of things are missing), just few hours of work of our spare time..) that generate dynamically the form for the GRASS modules, the code is not good and it is using qgis API... but I think that can explain what I have in mind.</div><div><br></div><div>I think that we should support both: PyQt and PySide, and I think you should use as primary choice for development Python3, support for Python2 it is much easier to add later if needed.</div><div><br></div><div>I hope these information/ideas can be useful for your GSoC.</div><div>Have fun!</div><div><br></div><div>all the best</div><div><br></div><div>Pietro</div><div><br></div><div><br></div><div>[0] <a href="https://trac.osgeo.org/grass/browser/grass/trunk/lib/python/pygrass/modules/interface/module.py#L266">https://trac.osgeo.org/grass/browser/grass/trunk/lib/python/pygrass/modules/interface/module.py#L266</a><br></div><div>[1] <a href="https://trac.osgeo.org/grass/browser/grass/trunk/lib/python/pygrass/modules/interface/parameter.py#L97">https://trac.osgeo.org/grass/browser/grass/trunk/lib/python/pygrass/modules/interface/parameter.py#L97</a></div><div>[2] <a href="https://trac.osgeo.org/grass/browser/grass/trunk/lib/python/pygrass/modules/interface/parameter.py#L15">https://trac.osgeo.org/grass/browser/grass/trunk/lib/python/pygrass/modules/interface/parameter.py#L15</a></div><div>[3] <a href="https://github.com/PierreRaybaut/formlayout">https://github.com/PierreRaybaut/formlayout</a></div><div>[4] <a href="https://bitbucket.org/fragit/rgreengui/src">https://bitbucket.org/fragit/rgreengui/src</a></div><div><br></div></div></div></div>