wiki:wxGUIDevelopment/Toolboxes

Toolboxes

Toolboxes in wxGUI are for the menu customization and for customization of the module tree in the search module pane.

Where the documentation should be placed

Which toolboxes could be created

Toolboxes which could be created now in the source code (and included in the GRASS distribution):

  • display

Recently created toolboxes:

  • Temporal toolbox (not included in the default main menu, only in module tree).
  • import/export/link (r.proj, v.proj included)
  • g.gui.*

What is missing and what can be done in the future

  • rename subtoolbox to toolbox-reference
  • update user and programmer's manual
  • clean the main application menu, remove all modules or leave only the most used ones
  • connection to addons:
    • there are already some toolboxes in addons (installing a toolbox installs the set of modules)
    • toolboxes (in the sense of pure list of modules) from addons can be either included in user toolboxes or
  • GUI for creating toolboxes and editing main menu (see below)
  • command line in the GUI now offers all modules on the path it is not bad but toolbox depended autocomplete is also interesting
  • similar behavior for standard command line as for GUI command line
  • connection to toolbars (images needs to be added)
  • different handling of menu label for modules (e.g. including menu label into the module)
  • use toolboxes in wxIClass (and others) for menu and/or for module tree
  • redesign of handlers for non-module items (related to g.gui.* modules and plugins)
  • better mechanism to determine when to generate new menudata.xml file
  • translation of strings
    • currently there is some workaround to get string from XML translated, it is not ideal
    • strings related to modules have to be translated twice (po merge is helpful but files are bigger), however, it is not clear if it is possible to use two po files together to translate one group of string (strings from modules and stings for other things are mixed at runtime)
    • translation of stings comming from addons or custom toolboxes is completely unresolved
  • prepared specialized menus in the distribution
  • connection of projects (workspaces) and toolboxes/main menu
    • main menu would need to changed on runtime which is not safe for all platforms

GUI front-end

There is no GUI to create or edit toolboxes. However, it is not considered as a priority because advanced users can edit XML files directly and beginners are usually not able or not want to do the customization themselves and some advanced user have to do the customization for them. Thus, we suppose that there is no need for GUI. Still, it would be nice to have that but the GUI implementation would be very complicated, probably more than the implementation of toolboxes itself (at least the basic implementation). For the future, the GUI can be added at any point and is partially independent on the concrete toolboxes implementation.

Creation of toolboxes from the old menu

Toolboxes which are now in GRASS distribution were created from the old menus and submenus and these toolboxes are used to create the same menu as it was before. Toolbox is a list of modules and it maps to one menu or submenu in the GUI. The same structure which is in the menu is also in the search module tab in the layer manager, so toolboxes are also there. If you are not using toolboxes, you get the same menu as before.

For the conversion a XSL Transformation (with EXSLT) was used:

See also

Tickets

  • #2013: defect: wxgui: vector colors menu confused with raster one (new)
  • #1742: defect: WXGUI layer manager window doesn't show all menubar entries (new)
  • #2034: defect: GUI crashes on launch for newly compiled binary for Mac OS X

Changesets

General

  • [56034]: wxGUI/toolboxes: initial version of wxGUI toolboxes
  • [56035]: wxGUI/toolboxes: documentation of initial version
  • [56086]: wxGUI/toolboxes: doctests, deleting of special element and documentation
  • [56358]: wxGUI/toolboxes: fix case when grass7 directory in home is missing
  • [56814]: wxGUI/toolboxes: fix name clash ... (not updated)

Toolbox definitions

  • [56081]: wxGUI: temporal toolboxes added
Last modified 6 years ago Last modified on Feb 13, 2014 8:15:09 AM

Attachments (3)

Download all attachments as: .zip