Changes between Version 95 and Version 96 of GSoC/2021/SingleWindowLayout


Ignore:
Timestamp:
Aug 19, 2021, 7:31:05 AM (3 years ago)
Author:
lindakladivova
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GSoC/2021/SingleWindowLayout

    v95 v96  
    526526
    527527**Abstract:**\\
    528 This project was focused mainly on the extensive Graphical User Interface refactoring necessary to prepare GRASS for Single-Window GUI. In addition to a good programming base, the simple working Single-Window GUI prototype was built in a parallel environment. This Single-Window frame largely copies the design (mockup) which the author had proposed for the GSoC application (see https://trac.osgeo.org/grass/wiki/wxGUIDevelopment/SingleWindow). All main functionality will be  put into operation after successful merge of https://github.com/OSGeo/grass/pull/1675 and https://github.com/OSGeo/grass/pull/1789. However, in order to completely replace the current Multi-Window GUI solution, many other improvements are still expected.
     528This project was focused mainly on the extensive Graphical User Interface refactoring necessary to prepare GRASS for Single-Window GUI. In addition to a good programming base, the simple working Single-Window GUI prototype was built in a parallel environment. This Single-Window frame largely copies the design (mockup) which the author had proposed for the GSoC application (see https://trac.osgeo.org/grass/wiki/wxGUIDevelopment/SingleWindow). All main functionality will be put into operation after successful merge of https://github.com/OSGeo/grass/pull/1675 and https://github.com/OSGeo/grass/pull/1789. However, to completely replace the current Multi-Window GUI solution, many other improvements are still expected.
    529529
    530530**The state of the art BEFORE the start of GSoC:**\\
    531 Although the GRASS GUI has been enriched with many new features since last year, the basic Multi-Window GUI concept used in all historical GRASS versions has been preserved. As the name suggests Multi-Window GUI consists of several windows (frames) - the control window and additional separate map display windows. The control window includes a notebook containing 5 tabs in a standard 2D map view - Data, Display, Modules, Console, and Python. The whole situation after startup is captured on Figure 3.
     531Although the GRASS GUI has been enriched with many new features since last year, the basic Multi-Window GUI concept used in all historical GRASS versions has been preserved. As the name suggests Multi-Window GUI consists of several windows (frames) - the control window and additional separate map display windows. The control window includes a notebook containing 5 tabs in a standard 2D map view - Data, Display, Modules, Console, and Python. The whole situation after startup is captured in Figure 3.
    532532
    533533**The state of the art AFTER GSoC:**\\
    534 A large part of the project was focused on the GUI refactoring. The core work had to be done all at once in the PR https://github.com/OSGeo/grass/pull/1675 and since it overturns the core logic of map display widgets, it was decided to merge it after GSoC when the GRASS 8 will be released. To sum it up, we are probably not entirely done with the refactoring, but the main part was managed.
    535 
    536 In addition, a Single-Window GUI prototype has been coded in a parallel environment. Me with help of my mentors handled to get to the stage where the most of the functions are working. There is just missing completion of PR https://github.com/OSGeo/grass/pull/1789 and possible check/fix of workspaces functioning. It is important to emphasize here that I'm talking about a basic functionality. In order to provide a really user-friendly environment, many other things will have to be changed or reprogrammed. All those steps are summed up in the "Next steps" paragraph.
     534A large part of the project was focused on GUI refactoring. The core work had to be done all at once in the PR https://github.com/OSGeo/grass/pull/1675 and since it overturns the core logic of map display widgets, it was decided to merge it after GSoC when the GRASS 8 will be released. To sum it up, we are probably not entirely done with the refactoring, but the main part was managed.
     535
     536In addition, a Single-Window GUI prototype has been coded in a parallel environment. I with help of my mentors handled to get to the stage where most of the functions are working. There is just missing completion of PR https://github.com/OSGeo/grass/pull/1789 and possible check/fix of workspaces functioning. It is important to emphasize here that I'm talking about basic functionality. To provide a really user-friendly environment, many other things will have to be changed or reprogrammed. All those steps are summed up in the "Next steps" paragraph.
    537537
    538538**Conclusion:**\\
    539 To follow my project idea I wrote for GSoC application, I succeeded (with help of my mentors) to provide first steps for a new era of Single-Window GUI. Those steps have a form of the refactoring as well as a new parallel simple Single-Window GUI prototype. I believe it's a one big step forward and I am looking forward to futher development of which I would like to be a part.
     539To follow the project idea I wrote for the GSoC application, I succeeded (with help of my mentors) to provide the first steps for a new era of Single-Window GUI. Those steps have a form of refactoring as well as a new parallel simple Single-Window GUI prototype. I believe it's one big step forward and I am looking forward to further development of which I would like to be a part.
    540540
    541541**Next Steps:**\\
    542 All these following points assume that the main functionality is working. In other words, we must have a merged main refactoring PR https://github.com/OSGeo/grass/pull/1675 and a merged PR https://github.com/OSGeo/grass/pull/1789 aiming at the implementation of !AuiNotebook closing event. Then a number of improvements are possible (and probably necessary).
     542All these following points assume that the main functionality is working. In other words, we must have a merged main refactoring PR https://github.com/OSGeo/grass/pull/1675 and a merged PR https://github.com/OSGeo/grass/pull/1789 aiming at the implementation of !AuiNotebook closing event. Then several improvements are possible (and probably necessary).
    543543
    544544- Enable undocking the Map Display notebook tab to a separate window. It will allow each user to use the Single-Window GUI as the Multi-Window GUI.
    545545- Fix switching to the Console pane in an automatic notebook if any information is written there.
    546546- Check/test if workspaces are functioning properly.
    547 - Focus a newly added Map Display tab in the Display pane (now it may not be clear at first glance that it has been added).
     547- Focus on a newly added Map Display tab in the Display pane (now it may not be clear at first glance that it has been added).
    548548- Modify the appearance for the dark mode. Some parts are ugly and illegible (names of !AuiNotebook tabs, names of panes, ugly gradients etc.).
    549549- Add the option for starting GRASS as the Single-Window GUI => we want GRASS geeks to try it out. :-)
     
    554554- If both Map Display tabs are displayed side by side, the status bar cannot fit in the space. The solution is to create a separate dialog, which will contain a check box and other settings for the Map Display notebook tab.
    555555- Each user should be able to choose a convenient layout of widgets and save this setting for future sessions. It should be possible via perspectives.
    556 - Creating, saving and selecting perspectives along with switching to dark mode could be part of a new tab menu called "View".
     556- Creating, saving, and selecting perspectives along with switching to dark mode could be part of a new tab menu called "View".
    557557
    558558**Permanent Links:**\\