wiki:wxGUIDevelopment/RedesigningStatusbar

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

--

Mini project 2022: Redesigning a map display status bar combo box into a new settings dialog

Title: Redesigning a map display status bar combo box into a new settings dialog
Student Name: Linda Kladivova
Organization: OSGeo - Open Source Geospatial Foundation
Mentor Name: Anna Petrasova, Martin Landa, Vaclav Petras
GitHub Repository: view repository
Budget: 1000 € (via GRASS GIS Student Grants)

Abstract

The project builds on the work started within the GSoC 2021 project called First steps towards the GRASS GIS Single-Window GUI. Within this coding period, a simple prototype of Single-Window GUI was proposed and partly implemented. It looks good at first glance from screenshots, however, there are many shortcomings and missing features that need to be removed/implemented to provide the Single-Window GUI layout as an optional mode in version 8.2.0.

Goal

The core part of the work will be devoted to the reorganization of the map display status bar. At the moment, the status bar at the bottom of the map display window consists of a text section, a combo box, a mask and a check box. For the Single-Window GUI, the number of widgets must be reduced so that the check box on the right side of the status bar is not shrunk. The solution is to cancel the combo box occupying too much space and implement a new settings dialog accessible from the top map display toolbar. So, the goal of the project is to create a fully functional testable Single-Window GUI mode which addresses the map display window settings through a new dialog.

A nice description of how it could look like is here: https://github.com/OSGeo/grass/issues/2017 .

Timeline

Time Period

Milestones

Tasks

Status

January 3 - January 9
Week 1

New Map Display settings dialog


DONE

January 10 - January 17
Week 2

Mask widget


DONE

June 17 - June 23
Week 3

Mask widget

Use defined projection checkbox


DONE

January 24 - January 30
Week 4

Use defined projection checkbox


DONE

January 31 - February 6
Week 5

Customize statusbar from Map Display settings


WIP

February 7 - February 13
Week 6

Customize statusbar from Map Display settings

  • create radiobuttons in Map Display settings for customization statusbar widgets
  • remove statusbar combobox


WIP

February 14 - February 20
Week 7

Projection settings

  • Move Projection settings in GUI settings to the new Map Display settings


TBD

February 21 - February 27
Week 8

EPSG text widget

  • Add EPSG text widget to main window statusbar

Merge Coordinates and Go To

  • merge Projection and Go to statusbar widgets to one general widget


TBD

Weekly reports

Week 1

1) What did I complete this week?
This week I worked on the new Map Display settings dialog which is accessible from the Map Display toolbar. I created a separate file for this purpose and proceed to move checkboxes from the Map Display status bar there - Render, AlignExtent, Resolution, and ShowRegion. The Render checkbox is also still accessible through the status bar, however other checkboxes were removed from the status bar combo box and are further available only from Map Display settings, for more info please see https://github.com/OSGeo/grass/pull/2031. Furthermore, I and Tomas Zigo managed to fix the closing event for the Map Notebook tab in the Single-Window GUI (see https://github.com/OSGeo/grass/pull/2072).

Map Display Settings dialog after https://github.com/OSGeo/grass/pull/2031

2) What am I going to achieve for next week?
Now it's time to move more complicated items from the status bar combo box. First I am gonna start to work on the Mask which will be newly placed to the main window status bar. It seems like a more complicated task.

3) Is there any blocking issue?
No, it isn't.

Week 2

1) What did I complete this week?
This week I have worked on moving the Mask widget to the main status bar (https://github.com/OSGeo/grass/pull/2089). It has shown to be quite a complicated task because we need to change the way of how the Mask in status bar is updated. In addition, I have opened the PR on moving the "Use defined projection" checkbox to our new Map Display settings dialog (https://github.com/OSGeo/grass/pull/2087).

2) What am I going to achieve for next week?
I am gonna finish the above-mentioned PRs. There is still quite lots of work and thinking - mainly on Mask.

3) Is there any blocking issue?
No, it isn't. Just regarding the rest of the week :-) - I am leaving for the weekend skiing holiday today so I will start working again on Monday.

Week 3

1) What did I complete this week?
Even though the first part of the week was a bit less productive due to the illness I am finishing with moving the Mask widget to the main status bar (https://github.com/OSGeo/grass/pull/2089) and also plan to get another "last-week" PR https://github.com/OSGeo/grass/pull/2087 merged early. In the meantime, I also fixed the error shown in the console after clicking on "Display geometry" option in Map Display statusbar combobox, see https://github.com/OSGeo/grass/pull/2106) and today I opened the PR related purely to the Single-Window GUI- focusing the Console pane when console content has been changed (https://github.com/OSGeo/grass/pull/2121).

2) What am I going to achieve for next week?
I would like to start working on the content of the status bar page in Map Display settings.

3) Is there any blocking issue?
No, it isn't.

Week 4

1) What did I complete this week?
This week the PR devoted to moving the Mask widget to the main status bar was finally merged (https://github.com/OSGeo/grass/pull/2089). It means that now the Mask button is a part of the main window status bar and GUI much better reacts to any change related to Mask (creation, removal). Another merged PR fixes the behavior of Single-Window GUI when console content has been changed (https://github.com/OSGeo/grass/pull/2121). It means that the Console pane (if part of any notebook) is focused whenever it can tell us something important.

In the meantime, I was working on https://github.com/OSGeo/grass/pull/2087 which is still not finished since we need to discuss further proceeding with Anna. This PR is a bit related to the Projection page which is nowadays a part of GUI settings but we plan to move it to Map Display settings. It is quite a big step because we also change the logic (general settings vs. local settings) and we need to first discuss it so we plan the video call.

2) What am I going to achieve for next week?
The task for the next week is mainly to finish https://github.com/OSGeo/grass/pull/2087 and to start working on a new bigger PR related to the Projection page. Last but not least we need to decide on the final appearance of Map Display settings.

3) Is there any blocking issue?
No, it isn't.

Week 4

1) What did I complete this week?
On Thursday we had a videocall with Anna, Vashek and Martin and we discussed how to arrange further work. We revised our priorities and put off the coding related to move of Projection page for two last project weeks. Now the priority is the statusbar combobox removal. So I have started to work on two PRs - the first one (https://github.com/OSGeo/grass/pull/2155) projects all changes to other Map Display applications (as Map Swipe and others) because before further work we need to unify our code a bit; while the second PR implements statusbar settings via radiobuttons and also removes the combobox. For more info please see https://github.com/OSGeo/grass/pull/2153.

In the meantime, I also finished https://github.com/OSGeo/grass/pull/2087 which moves "Use defined projection" checkbox to Map Display Settings.

2) What am I going to achieve for next week?
The main task for the next week is to finish both opened PRs. It will lead to entire statusbar combobox removal in all Map Display related applications because everywhere the Map Display Settings dialog will be newly available. I will also create a new icon for Map Display settings since the currently used icon is not suitable (we already use the same icon e.g. in Map Swipe for the purpose of settings).

3) Is there any blocking issue?
No, it isn't.

Attachments (4)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.