wiki:GSoC/2016/PyQtGUI

Version 22 (modified by pesekon2, 8 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.

Timeline

timeline created during bonding
status
MAY 23 - 29 Familiarization with the existing code + creating empty generated GUI
MAY 30 - JUNE 5 Core - files parsing XML
JUNE 6 - 19 Creating basic GUI (just basic widgets) of some function - e.g. r.buffer
JUNE 20 - 25 Updating GUI - using standard Qt widgets
Mid term evaluation
JUNE 27 - JULY 3 Implementation of custom widgets (gselect.Select)
JULY 4 - 17 Linking widgets, dependencies (select map -> columns)
JULY 18 - 24 Implementation of other widgets
JULY 25 - 31 Clearing of code
AUGUST 1 - 7 Testing
AUGUST 8 - 15 Writing documentation
The end

Requirements

GRASS 7.1

Development

Weekly reports

May 23 - 29

Attachments (19)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.