Version 26 (modified by 9 years ago) ( diff ) | ,
---|
GSoC 2016 PyQt based GUI of GRASS automatically generated from XML
Title: | PyQt based GUI of GRASS automatically generated from XML |
Student Name: | Ondrej Pesek, Czech Technical University in Prague |
Organization: | OSGeo - Open Source Geospatial Foundation |
Mentor Name: | Vaclav Petras, Anna Petrasova |
GSoC proposal: | view proposal |
Repository: | github |
Documentation: | [TODO] |
Abstract
GUI forms (module dialogs) are now automatically generated from XML into wxPython. My idea is to create code that is generating the same code into more powerful Qt.
Goal
Create a table of individual widgets, their features and when their are used. Existing GUI in GRASS GIS and also in QGIS GRASS plugin and QGIS Processing plugin are good starting points.
List of standard options in GRASS GIS https://grass.osgeo.org/grass71/manuals/parser_standard_options.html gives list of commonly used parameters which are likely to become specialized widgets (but it is not 1:1 - a lot of them are actually the same map selection widget just with different parameters). The general specification of options and flags is in the programming manual https://grass.osgeo.org/programming7/gislib_cmdline_parsing.html.
There is more ways to do it. We will try to make more files. Nowadays, it is just one file with more than 3000 lines. It is not very readable. We hope that we can change it.
Notes
In the first version, creating GUI will work just as script started from GRASS. Of course I want to implement it as normal function (there is variable "gui" in GRASS), but it's not necessary. When the GUI is ready and compatible with many functions, then tere is possibility to make it. (not in timeline, additional goal)
The same is with styling. I will try to make everything very similar to current GUI, but I didn't make any window in timeline for that. I will work on that within all the GSoC period assuming that I have the time.
I have a problem with the end of the june. I have Final Examinations at my school so maybe I won't have so much time. I will try to make everything here ahead of time. In the case I won't, I will definitely catch up it after this period. It will be same for every hiatus that can raise.
Timeline
timeline created during bonding | ||
status | ||
Community bounding period | Familiarization with the existing code | * |
Let the summer begin | ||
MAY 23 - 27 | Creating empty generated GUI | |
MAY 30 - JUNE 10 | Creating basic GUI (just basic widgets) of some function - e.g. r.buffer | |
JUNE 13 - 24 | Updating GUI - using standard Qt widgets | |
Mid term evaluation | ||
JUNE 27 - JULY 1 | Implementation of custom widgets (gselect.Select) | |
JULY 4 - 15 | Linking widgets, dependencies (select map -> columns) | |
JULY 18 - 22 | Implementation of other widgets | |
JULY 25 - 29 | Clearing of code | |
AUGUST 1 - 5 | Testing | |
AUGUST 8 - 13 | Writing documentation | |
The end |
Requirements
Development
Weekly reports
May 23 - 29
Attachments (19)
- gui1.PNG (7.2 KB ) - added by 8 years ago.
- gui1b.PNG (7.7 KB ) - added by 8 years ago.
-
Výstřižek.PNG
(9.4 KB
) - added by 8 years ago.
report2.1
- gui2.PNG (11.2 KB ) - added by 8 years ago.
- gui3.PNG (10.3 KB ) - added by 8 years ago.
- gui3.2.PNG (19.0 KB ) - added by 8 years ago.
- gui4.1.PNG (15.7 KB ) - added by 8 years ago.
- gui4.2.png (13.9 KB ) - added by 8 years ago.
- gui4.3.PNG (12.1 KB ) - added by 8 years ago.
- gui6.1.PNG (8.4 KB ) - added by 8 years ago.
- gui6.2.PNG (12.0 KB ) - added by 8 years ago.
- gui7.1.PNG (13.8 KB ) - added by 8 years ago.
- gui8.1.PNG (3.2 KB ) - added by 8 years ago.
- gui8.2.PNG (6.0 KB ) - added by 8 years ago.
- gui8.3.PNG (2.7 KB ) - added by 8 years ago.
- gui10.1.PNG (10.7 KB ) - added by 8 years ago.
- gui10.2.PNG (8.7 KB ) - added by 8 years ago.
- gui11.1.PNG (2.3 KB ) - added by 8 years ago.
- gui11.2.PNG (14.0 KB ) - added by 8 years ago.
Download all attachments as: .zip