<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 24, 2015 at 1:30 PM, Pietro <span dir="ltr"><<a href="mailto:peter.zamb@gmail.com" target="_blank">peter.zamb@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Vaclav,<br>
<span class=""><br>
On Tue, Mar 24, 2015 at 3:54 PM, Vaclav Petras <<a href="mailto:wenzeslaus@gmail.com">wenzeslaus@gmail.com</a>> wrote:<br>
> On Tue, Mar 24, 2015 at 2:00 AM, Pietro <<a href="mailto:peter.zamb@gmail.com">peter.zamb@gmail.com</a>> wrote:<br>
</span><span class="">>> together with Francesco Geri, last week we started to write a first<br>
>> draft that generate the GUI for the GRASS module dynamically (based on<br>
>> the xml generated with: --interface-description), so far it is based<br>
>> on grass7 but should work also on grass6 (not tested, should be enough<br>
>> to backport the pygrass.modules.Module class).<br>
><br>
> Hi Pietro and Francesco,<br>
><br>
> this sounds good. Are you speaking about QGIS GUI (in Python) generated from<br>
> --interface-description? Do you think it would be possible to write it in a<br>
> way which would be GUI framework independent so that it is usable in both<br>
> GRASS and QGIS? The GUIs for modules in GRASS are quite good now but the<br>
> code should be rewritten and this would be a great way how to get this new<br>
> implementation.<br>
<br>
</span>yes, actually what I wrote it is completely independent from QGIS, it<br>
is compatible with pyqt/pyside and with python2/python3,<br>
It is just a proof of concept. Now Francesco it is working to better<br>
integrate this draft with QGIS stuff.<br>
<br></blockquote><div>That's good to hear.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The idea was heavily based on formlayout code:<br>
<br>
<a href="https://code.google.com/p/formlayout/" target="_blank">https://code.google.com/p/formlayout/</a><br>
<br>
Basically each parameter is a GUI field that it is add to the main<br>
window, therefore based on the parameter type the field could be:<br>
<br>
if "raster"/"vector" => a combo box with the rasters/vectors available<br>
if "integer" => a spinbox<br>
if "string"/"double" => a text field<br>
if "file" => a file dialog<br>
<br>
based on the guisection parameter all the options are organized in tabs.<br>
<br></blockquote><div><br></div><div>Both QGIS and GRASS are adding different extra features like setting region according to a selected raster or dependent fields for vector GRASS layers and attributes. That's why it gets complicated at the end. And of course then there is the extra information which is not stored in XML such as "GRASS standard options".<br></div><div><br></div><div>Anyway, skipping qgm is quite important feature for QGIS since it is necessary for GRASS addons as you say.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The code is under 500 lines of code.<br>
<br>
I guess should be possible to follow the same approach using the wxpython.<br>
I think that with a bit more effort should be possible to make it<br>
general enough to make it independent from the GUI framework (Qt/Wx)<br>
that we want to use.<br>
<br>
I have not link to share at this stage because we are still working on it.<br>
But I guess we can share the code as soon as we have something that it<br>
is able to cover the basic needs.<br>
<span class="HOEnZb"><font color="#888888"><br></font></span></blockquote><div>I'm looking forward to that. <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888">
<br>
Pietro<br>
</font></span></blockquote></div><br></div></div>