Changes between Version 95 and Version 96 of GSoC/2021/SingleWindowLayout
- Timestamp:
- 08/19/21 07:31:05 (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GSoC/2021/SingleWindowLayout
v95 v96 526 526 527 527 **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 orderto completely replace the current Multi-Window GUI solution, many other improvements are still expected.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, to completely replace the current Multi-Window GUI solution, many other improvements are still expected. 529 529 530 530 **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.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 in Figure 3. 532 532 533 533 **The state of the art AFTER GSoC:**\\ 534 A large part of the project was focused on theGUI 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.534 A 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 536 In 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. 537 537 538 538 **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.539 To 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. 540 540 541 541 **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 ofimprovements are possible (and probably necessary).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 several improvements are possible (and probably necessary). 543 543 544 544 - 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. 545 545 - Fix switching to the Console pane in an automatic notebook if any information is written there. 546 546 - 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). 548 548 - Modify the appearance for the dark mode. Some parts are ugly and illegible (names of !AuiNotebook tabs, names of panes, ugly gradients etc.). 549 549 - Add the option for starting GRASS as the Single-Window GUI => we want GRASS geeks to try it out. :-) … … 554 554 - 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. 555 555 - 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". 557 557 558 558 **Permanent Links:**\\