wiki:GSoC/2021/SingleWindowLayout

Version 2 (modified by lindakladivova, 4 years ago) ( diff )

--

GSoC 2021: First steps towards a new GRASS GIS Single-Window GUI

Title: First steps towards a new GRASS GIS Single-Window GUI
Student Name: Linda Kladivova
Organization: OSGeo - Open Source Geospatial Foundation
Mentor Name: Anna Petrasova, Martin Landa, Vaclav Petras, Stefan Blumentrath
GSoC proposal: View proposal
GitHub Repository: view repository

Abstract

This project will mainly focus on extensive Graphical User Interface (GUI) refactoring necessary to prepare GRASS GIS for Single-Window GUI. As the result, I will introduce a very simple Single-Window layout and importantly a good programming base allowing further convenient extension and improvement with additional functions.

Goal

The goal is to create a simple Single-Window GUI (the standard solution in most of the software) which ensures all panels in the form of dockable panes to be visible immediately after startup. Of course, especially long-term users can prefer the existing Multi-Window GUI, so the original option will be retained. For more information, please have a look at a separate page where I present a proposal in detail: https://trac.osgeo.org/grass/wiki/wxGUIDevelopment/SingleWindow.

To sum up the schedule: From June 7th to June 20th (2 weeks), I plan to work on the GUI refactoring - separation of main GUI window code, creating a new Workspace Manager as well as a new Layer Manager class. From June 21st to July 11th (3 weeks) I plan to create a new Map Display panel needed for the Single-Window layout and to adapt toolbars in other panels (this would also be the topic for the first evaluation). From July 12th to July 25th (2 weeks) I will work on general factory class allowing me to preserve a Multi-Window layout as well as to create a new Single-Window layout. From July 26th to August 22th (4 weeks) I will work on the integration of all panels (Data, Display, Modules, Console, Python, Map Display notebook) to a basic Single-Window structure.

Timeline

Time Period

Milestones

Tasks

Status

May 17 - 6 June
Community Bonding

  • Introduce myself in dev list, get in contact with my mentors and discuss the design of functions
  • Prepare the wiki page about the project
  • Set up the GitHub repository of the project
  • Familiarize with the object-oriented patterns in wxPython programming
  • Discuss the elements of the Single-Window layout and the necessary changes in GUI needed for implementing the proposed design
  • Discuss the elements of the startup window and get acquainted with the whole design (video call on May 14)
  • Contribute some feature related to refactoring

June 7 - June 13
Week 1

June 14 - June 20
Week 2

June 21 - June 27
Week 3

June 28 - July 4
Week 4

July5 - July 11
Week 5

July 12 - July 18
Week 6

evaluation

July 19 - July 25
Week 7

July 26 - August 1
Week 8

August 2 - August 8
Week 9

August 9 - August 15
Week 10

August 16 - August22
Week 11

Bonding period report

Weekly reports

Week 1

1) What did I complete this week?
2) What am I going to achieve for next week?
3) Is there any blocking issue?

Week 2

1) What did I complete this week?
2) What am I going to achieve for next week?
3) Is there any blocking issue?

Week 3

1) What did I complete this week?
2) What am I going to achieve for next week?
3) Is there any blocking issue?

Week 4

1) What did I complete this week?
2) What am I going to achieve for next week?
3) Is there any blocking issue?

Week 5

1) What did I complete this week?
2) What am I going to achieve for next week?
3) Is there any blocking issue?

Week 6

1) What did I complete this week?
2) What am I going to achieve for next week?
3) Is there any blocking issue?

Week 7

1) What did I complete this week?
2) What am I going to achieve for next week?
3) Is there any blocking issue?

Week 8

1) What did I complete this week?
2) What am I going to achieve for next week?
3) Is there any blocking issue?

Week 9

1) What did I complete this week?
2) What am I going to achieve for next week?
3) Is there any blocking issue?

Week 10

1) What did I complete this week?
2) What am I going to achieve for next week?
3) Is there any blocking issue?

Week 11

1) What did I complete this week?
2) What am I going to achieve for next week?
3) Is there any blocking issue?

Final Report

Attachments (8)

Note: See TracWiki for help on using the wiki.