Changes between Version 11 and Version 12 of wxGUIDevelopment/SingleWindow


Ignore:
Timestamp:
Apr 7, 2021, 11:54:30 PM (3 years ago)
Author:
lindakladivova
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • wxGUIDevelopment/SingleWindow

    v11 v12  
    5151The proposed layout in Figure 4 is visually inspired by the layout in QGIS. Like QGIS or other GIS software, it contains a data catalog and layer catalog on the left, and a catalog of tools (modules) on the right.
    5252
    53 Figure 4: Designed Single Window Layout
    54 [[Image(single_window_layout.png)]]
     53[[Image(single_window_layout.png, 1400px, title=Figure 4: Designed Single Window Layout, align=center)]]
    5554
    56 The design is based on the ''wx.Aui.Manager'' class, which is the central class of the AUI class framework. In this class, we create so-called panes i.e. panels with docking and floating behavior (more [https://wxpython.org/Phoenix/docs/html/wx.aui.AuiManager.html]). wx.Aui.Manager is not a new concept in GRASS. As we can see in Figure 2, it is already used for creating dockable toolbars in the upper part of the Layer Manager and in the Map Display. These tabs, as well as the Menu bar at the top of the software, will remain the same as in version 7.9.
     55The design is based on the ''wx.Aui.Manager'' class, which is the central class of the AUI class framework. In this class, we create so-called panes i.e. panels with docking and floating behavior (more [https://wxpython.org/Phoenix/docs/html/wx.aui.AuiManager.html]). ''wx.Aui.Manager'' is not a new concept in GRASS. As we can see in Figure 2, it is already used for creating dockable toolbars in the upper part of the Layer Manager and in the Map Display. These tabs, as well as the Menu bar at the top of the software, will remain the same as in version 7.9.
    5756
    5857The designed Single Window Layout consists of 1 window, in the middle of which are Map Displays as notebook tabs. Each Map Display tab, therefore, represents a Map Display window, as we know it from version 7.9. It is not possible to move with a tab containing Map Displays (it is not dockable), but we can divide the space so that more maps can be seen at once (see Figure 5). Depending on which Map Display is active, the correct tab in the Display tab is selected and vice versa.
    5958
    60 Figure 5: AUI demo - display of Map Displays tabs side by side
    61 [[Image(split_displays.PNG)]]
     59[[Image(split_displays.PNG, 1300px, title=Figure 5: AUI demo - display of Map Displays tabs side by side, align=center)]]
    6260
    63 Around the central map notebook, there are 5 dockable panes in a standard 2D projection - Data Catalog and Display on the left, Modules, Console, and Python on the right. When switching to 3D projection, this number is increased by the 3D view tab - which is displayed in the left part under the Display panel. Dockable panes can be pulled out and rearranged according to user's own preferences. One example can be seen in Figure 6.
     61Around the central map notebook, there are 5 dockable panes in a standard 2D projection - Data Catalog and Display on the left, Modules, Console, and Python on the right. When switching to 3D projection, this number is increased by the 3D view tab - which is displayed in the left part under the Display panel. Dockable panes can be pulled out and rearranged according to the user's own preferences. One example can be seen in Figure 6.
    6462
    65 Figure 6: AUI demo - another arrangement of dockable panes
    66 [[Image(another_layout_option.PNG)]]
     63[[Image(another_layout_option.PNG, 1300px, title=Figure 6: AUI demo - another arrangement of dockable panes, align=center)]]
    6764
    6865Panes can only be maximized and minimized. The situation after minimizing all panes can be seen in Figure 7. Closing panes in the case of GRASS does not bring any special plus in my opinion - after closing it is usually hard to find and reopen the tab (hopefully the reader will tell me the truth :-)) and it would also involve the implementation of a check box mechanism to the menu bar as e.g. in QGIS. GRASS has most functionalities in the form of separate modules, which means that the number of tabs is a maximum of 6 (unlike QGIS having almost 20 tabs).
    6966
    70 Figure 7: AUI demo - panes minimization
    71 [[Image(all_panes_minimized.PNG)]]
     67[[Image(all_panes_minimized.PNG, 1300px, title=Figure 7: AUI demo - panes minimization, align=center)]]
    7268
    7369As I have mentioned above, each tab in version 7.9 forms a certain whole. The buttons in the Data Catalog toolbar in the Data tab are used to organize the data in this tab. Similarly, the Display tab has its own toolbar, which is used to add, delete, and further organize the layers displayed in Map Display. However, the disadvantage of this solution is that the Data Catalog toolbar and Display toolbar cannot be part of the respective panel in their original length, as they are too long. Therefore, there would have to be either placed horizontal toolbars on top of each other in the given panel or inserted one vertical toolbar on the left. Personally, I am more inclined to the option of creating two horizontal toolbars.
    7470
    75 However, the implementation of a Single Window GUI does not only involve a widget reorganization. To reach a truly user-friendly result, it should be possible to switch to the original multi-layout. Then it would be also advantageous to have a button returning GRASS to the original Single Layout settings (useful in the situation when a user would significantly reorganize widgets and would not be able to go back).
    76 A similar way of changing the layout using the buttons is implemented, for example, in the software… in Figure 8. Both buttons related to the layout in GRASS GIS could be part of the new dockable Layout tab, which would be located next to the dockable Misc tab.
     71However, the implementation of a Single Window GUI does not only involve a widget reorganization. To reach a truly user-friendly result, it should be possible to switch to the original multi-layout. Then it would be also advantageous to have a button returning GRASS to the original Single Layout settings (useful in the situation when a user would significantly reorganize widgets and would not be able to go back). Both buttons related to the layout in GRASS GIS could be part of the new dockable Layout tab, which would be located next to the dockable Misc tab. A similar way of changing the layout using the buttons is implemented, for example, in the software jBEAM.
    7772
    78 Figure 8:
    79 [[Image()]]
     73Figure 9:
     74[[Image(jbeam_layout.PNG, 900px, title=Figure 8: Example of layout toolbar from jBEAM software, align=center)]]
    8075
    81 The third important function is the ability to remember the single-window layout for the next session, or also within the saved workspaces.
     76The third important function is the ability to remember the single-window layout for the next session as well as within the saved workspaces.
    8277
    8378As part of the new single layout, it would also be good to reopen the question about tab (pane) names. The main GRASS GIS window is named Layer Manager, although in practice only the Display tab can be considered a Layer Manager. Similarly, in the surveys, the proposal was made to rename the Modules tab to Tools.