[GRASS-dev] GSoC 2016 - PyQt GRASS - Report 4

Hi all!

Here is the third report of my GSoC project - PyQt based GUI of GRASS automatically generated from XML. For screenshots and other stuff se its wiki: https://trac.osgeo.org/grass/wiki/GSoC/2016/PyQtGUI

What did you get done this week?

  • The Run button really runs (but still not with flags). It’s still the only button with any function. Also the code-string on the bottom of GUI was recreated. Now it’s just one (only readable) textedit. When the string is too long, you will get the scrollbar.

  • Completely retyped code in parameters.py. Now it works like Factory. Factory is dynamically creating the list of methods classes with canHandle method and the called class depends on the values in this method. It means that there are not so many “ifs” and the code is better readable. And those classes return “self” instead of method get().

  • Float coords is lineedit.

  • When the string has values, it’s editable combobox with implemented values.

  • Nearly last thing: I implemented the TreeComboBox for inouts/outputs. Both raster and vector. It works very similarly to the one in old GUI. Mapset is parent and then you have many children to choose. It’s in gselect.py and in parameters.py is just the class inheriting it from gselect with added canHandle method. It’s much readable for anyone than just directing program elsewhere. Now you can also choose the mapset; this possibility will be banned in next coding.

  • For not implemented thing I use lineedit (because You can write there anything manually). Now I highlight it with red colour and word TODO in GUI. It’s just for me and will not be in the real version.

What do you plan on doing next week?

  • I’m sorry but at June the 27th, I have my final exams for bachelor at school so I won’t be able to do anything related to GSoC in next week (I really have to learn something before exams). I have done everything in my timeline for next week so I hope it’s okay. I will of course answer to mails and such thing, I mean I will not be able to code anything. Thanks.

Thank you and have a sunny weekend!

Ondrej