[prev in list] [next in list] [prev in thread] [next in thread] 

List:       grass-dev
Subject:    [GRASS-dev] =?utf-8?q?GSoC_2021=3A_Final_report=3A_First_steps_t?= =?utf-8?q?owards_a_new_GRASS_GIS_
From:       Linda_Kladivová <L.Kladivova () seznam ! cz>
Date:       2021-08-22 18:02:06
Message-ID: A3j.IZDg.5zTCHHSMRr4.1X8f4U () seznam ! cz
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hello everyone,





I am sending my Final GSoC report. The more detailed version with permanent
links on GitHub PRs and with several screenshots can be found at the project
wiki: https://trac.osgeo.org/grass/wiki/GSoC/2021/SingleWindowLayout#
FinalReport
(https://trac.osgeo.org/grass/wiki/GSoC/2021/SingleWindowLayout#FinalReport)
.





Abstract:
The 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)[1]). All
main functionality will be put into operation after the successful merge of
PR [2] and PR [3]. (https://github.com/OSGeo/grass/pull/1789)However, to 
completely replace the current Multi-Window GUI solution, many other
improvements are still expected.




The state of the art BEFORE the start of GSoC:
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 state of the art AFTER GSoC:
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)[2] 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.

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 
[3] 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.




Conclusion:
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.




Next Steps:
All these following points assume that the main functionality is working. In
other words, we must have a merged main refactoring PR [2] and a merged PR
[3](https://github.com/OSGeo/grass/pull/1789) aiming at the implementation
of the AuiNotebook closing event. Then several improvements are possible 
(and probably necessary):

   * 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.
   * Fix switching to the Console pane in an automatic notebook if any
   information is written there.
   * Check/test if workspaces are functioning properly.
   * 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).
   * Modify the appearance for the dark mode. Some parts are ugly and
   illegible (names of AuiNotebook tabs, names of panes, ugly gradients 
   etc.).
   * Add the option for starting GRASS as the Single-Window GUI => we want
   GRASS geeks to try it out. :-)


Other improvements mainly concern the organization of widgets and possible
ideas for the future:

   * It is necessary to change the rendering of the 3D View panel. Now the 3
   D View pane is added as another panel under the Display tab - very
   problematic in terms of space.
   * A part of the Console pane in the startup Single-Window layout is not
   visible. We should completely reorganize the Console tab, such as the 
   Output window and Command prompt data outputs go into two separate tabs.
   * 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.
   * 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.
   * Creating, saving, and selecting perspectives along with switching to 
   dark mode could be part of a new tab menu called "View".


Permanent links and screenshots can be found at [4] and [5].




[1] https://trac.osgeo.org/grass/wiki/wxGUIDevelopment/SingleWindow
(https://trac.osgeo.org/grass/wiki/wxGUIDevelopment/SingleWindow)

[2]https://github.com/OSGeo/grass/pull/1675
(https://github.com/OSGeo/grass/pull/1675)

[3] https://github.com/OSGeo/grass/pull/1789
(https://github.com/OSGeo/grass/pull/1789)

[4] https://trac.osgeo.org/grass/wiki/GSoC/2021/SingleWindowLayout#
FinalReport
(https://trac.osgeo.org/grass/wiki/GSoC/2021/SingleWindowLayout#FinalReport)

[5] https://trac.osgeo.org/grass/wiki/GSoC/2021/SingleWindowLayout#
BrandnewScreenshotsofSingle-WindowGUI
(https://trac.osgeo.org/grass/wiki/GSoC/2021/SingleWindowLayout#BrandnewScreenshotsofSingle-WindowGUI)




Best,

Linda Kladivova



[Attachment #5 (text/html)]

<html><body>Hello everyone,<div dir="ltr"><div dir="ltr"><p \
style="margin-bottom:0pt;line-height:normal"><br></p><div>I am sending my Final GSoC \
report. The more detailed version with permanent links on GitHub PRs and with several \
screenshots can be found at the project wiki: <a \
href="https://trac.osgeo.org/grass/wiki/GSoC/2021/SingleWindowLayout#FinalReport">https://trac.osgeo.org/grass/wiki/GSoC/2021/SingleWindowLayout#FinalReport</a> \
.<br></div><div><br></div><p> <strong>Abstract:</strong><br>
The 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 <a class="-wm-ext-link" \
href="https://trac.osgeo.org/grass/wiki/wxGUIDevelopment/SingleWindow"><span \
class="-wm-icon">​</span></a>[1]). All main functionality will be put into \
operation after the successful merge of PR [2] and PR [3]. <a class="-wm-ext-link" \
href="https://github.com/OSGeo/grass/pull/1789"><span \
class="-wm-icon"></span></a>However, to completely replace the current Multi-Window \
GUI solution, many other improvements are still expected.</p><p><br> </p>
<p>
<strong>The state of the art BEFORE the start of GSoC:</strong><br>
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.</p><p><br></p>
<p>
<strong>The state of the art AFTER GSoC:</strong><br>
A large part of the project was focused on GUI refactoring. The core work had to be \
done all at once in the PR <a class="-wm-ext-link" \
href="https://github.com/OSGeo/grass/pull/1675"><span \
class="-wm-icon">​</span></a>[2]  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. </p>
<p>
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 [3]<span class="-wm-icon"></span>
 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.</p><p><br></p>
<p>
<strong>Conclusion:</strong><br>
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.</p><p><br></p><p> <strong>Next Steps:</strong><br>
All these following points assume that the main functionality is working. In other \
words, we must have a merged main refactoring PR [2] and a merged PR [3]<a \
class="-wm-ext-link" href="https://github.com/OSGeo/grass/pull/1789"><span \
class="-wm-icon"></span></a> aiming at the implementation of the AuiNotebook closing \
event. Then several improvements are possible (and probably necessary): </p>
<ul><li>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.
</li><li>Fix switching to the Console pane in an automatic notebook if any \
information is written there. </li><li>Check/test if workspaces are functioning \
properly. </li><li>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). </li><li>Modify the \
appearance for the dark mode. Some parts are ugly  and illegible (names of \
AuiNotebook tabs, names of panes, ugly gradients  etc.).
</li><li>Add the option for starting GRASS as the Single-Window GUI =&gt; we want \
GRASS geeks to try it out. :-) </li></ul><p>
Other improvements mainly concern the organization of widgets and possible ideas for \
the future: </p>
<ul><li>It is necessary to change the rendering of the 3D View panel. 
Now the 3D View pane is added as another panel under the Display tab - 
very problematic in terms of space.
</li><li>A part of the Console pane in the startup Single-Window layout is not \
visible. We should completely reorganize the Console tab, such as  the Output window \
and Command prompt data outputs go into two separate  tabs.
</li><li>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.
</li><li>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.
</li><li>Creating, saving, and selecting perspectives along with switching to dark \
mode could be part of a new tab menu called "View". </li></ul><p>Permanent links and \
screenshots can be found at [4] and [5].</p><p><br></p><p>[1] <a class="-wm-ext-link" \
href="https://trac.osgeo.org/grass/wiki/wxGUIDevelopment/SingleWindow">https://trac.osgeo.org/grass/wiki/wxGUIDevelopment/SingleWindow</a></p><p>[2] \
<a class="-wm-ext-link" href="https://github.com/OSGeo/grass/pull/1675"><span \
class="-wm-icon">​</span>https://github.com/OSGeo/grass/pull/1675</a></p><p>[3] <a \
class="-wm-ext-link" \
href="https://github.com/OSGeo/grass/pull/1789">https://github.com/OSGeo/grass/pull/1789</a></p><p>[4] \
<a href="https://trac.osgeo.org/grass/wiki/GSoC/2021/SingleWindowLayout#FinalReport">h \
ttps://trac.osgeo.org/grass/wiki/GSoC/2021/SingleWindowLayout#FinalReport</a></p><p>[5] \
<a href="https://trac.osgeo.org/grass/wiki/GSoC/2021/SingleWindowLayout#BrandnewScreen \
shotsofSingle-WindowGUI">https://trac.osgeo.org/grass/wiki/GSoC/2021/SingleWindowLayout#BrandnewScreenshotsofSingle-WindowGUI</a></p><p><br></p><p><span \
style="font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-nu \
meric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">Best,</span></p><p>Linda \
Kladivova<br></p></div></div></body></html>



_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic