Changes between Version 19 and Version 20 of wxGUIDevelopment/SingleWindow


Ignore:
Timestamp:
Apr 11, 2021, 2:50:17 AM (3 years ago)
Author:
lindakladivova
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • wxGUIDevelopment/SingleWindow

    v19 v20  
    6767However, 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.
    6868
    69 [[Image(jbeam_layout.png, 900px, title=Figure 8: Example of layout toolbar from jBEAM software, align=center)]]
     69[[Image(jbeam_layout.png, 800px, title=Figure 8: Example of layout toolbar from jBEAM software, align=center)]]
    7070
    7171The third important function is the ability to remember the single-window layout for the next session as well as within the saved workspaces.
     
    7777- Refactoring: Creation of a separate class for workspace management (Layer Manager needs to be lightened).
    7878- Refactoring: Creation of a separate file for the Display tab. Then the main script for creating a Layer Manager will no longer contain functions related to displaying layers in the Display tab. A separate file is also created for the Display toolbar.
    79 - Refactoring: The main script together with the relevant toolbars and other files will be moved to a new App directory. This means that the Layer Manager will take over the role of the Display tab. So we will have a new directory, which will be the parent for tabs (panes) and we will define a Single Layout in it.
    80 - Refactoring: Creation of a separate function responsible for instantiating all five panels (Data, Display, Modules, Console, Python).
    81 - Refactoring: Edit of functions related to creating notebook tabs for multi-layout. Applies to _createNoteBook, AddNvizTools, RemoveNVizTools, etc.
    82 - Refactoring: Introduction of a new layout flag (variable) in the App, so far it will be primarily set to multi-layout.
    83 - Refactoring: Features related to adding and removing the 3D tab and 3D toolbar will be adapted to the future option - in the case of Single Layout the newly added panel is not added to the notebook but to the AUI pane. Similarly, other functions requiring to switch to the Display tab for their operation (for example, adding vector or raster data) will be adapted to the future variant using the "layout" flag.
     79- Refactoring: Establishing all signals and solving the connection when creating a 3D tab.
     80- Refactoring: The main script together with the relevant toolbars and other files will be moved to a new App directory. This means that the Layer Manager will take over the role of the Display tab.
     81- Refactoring: Integrating and moving layout functions and superior functions and handlers into the basic GUI frame class in the App directory (Layer Manager will take over the role of the Display tab)
    8482
    85 - Single Layout: Defining a new Map Panel class whose instances will be elements of the new Map Display notebook pane.
    86 - Single Layout: Defining an AuiManegerClass that will secure some general functions needed for Single Layout.
    87 - Single Layout: Single layout AUI panes will be created through a new function (input parameters: Data, Display, Modules, Console, Python, Map Panel).
    88 - Single Layout: Update of the guiparent changes after switching (for a multi-layout it is a notebook, for a single layout the main frame).
    89 - Single Layout: Switching to the desired layout through a new Layout tab
     83- Adapting toolbars in Display and Data pane: Creating vertical toolbar in Data panel as well as creating vertical toolbar in the Display pane.
     84- Map Display notebook pane: Defining a new Map Panel class whose instances will be elements of the new Map Display notebook pane.
     85- Map Display notebook pane: Integration of Map Panel class to a new Map Display pane.
     86- Map Display notebook pane: Linking the Map Display pane with Layer Manager tabs.
     87
     88- Simple Single Layout: Creating of a new factory-pattern class. Features related to adding and removing the 3D tab and 3D toolbar will be adapted to the future option.
     89- Single layout Layout: Integration of all panes (Data, Display, Modules, Console, Python, Map Display notebook) to a basic Single Layout structure.
     90- Simple Single Layout: Switching to the desired layout through a new Layout tab.