Skip to content

TreeView

MaartenHilferink edited this page Nov 10, 2026 · 45 revisions

User Guide GeoDMS GUI - TreeView

introduction

This screenshot shows an older icon set than the one described below.

The Treeview is the main navigation component of the application. It shows the hierarchical structure of a configuration, in a view like the Windows Explorer. By default, the first-level items are shown. The root item is not shown; its name is shown in the title bar. Each item in the tree (called a Tree item) is shown with a name and an icon.

The selected item in the Treeview is the active item in the application. This is an important concept, because many functions of the application work on the active tree item. A click with the right mouse button opens a pop-up menu with options that work on this active tree item. The Detail pages also show information on this active item.

the prelude container

With Settings > GUI options > Show hidden items activated, a container named prelude appears among the first-level items of every configuration. It is not part of the configuration and is never written back to it. The GeoDMS ships standard function definitions in prelude.dms, next to the executable. It adds them to each loaded tree as a hidden container. Therefore sqr, rescale, MakeDefined and similar functions can be called without configuring them. See GeoDMS GUI, section the standard prelude, for what this means for name resolution.

icons

The icon tells you what kind of item you are looking at. For data items and containers, it also tells you which default viewer is used for it. Double-click a selected tree item, or press the Enter key on it, to activate that viewer.

The icons are drawn from a font, not from bitmaps, so they stay sharp when Windows scales the interface. Units have icons of their own. The icon of an item depends on what the item is, not on which views can be opened on it. Therefore a unit with subitems is drawn as a unit, not as a container. The measuring-tape icon marks a base unit only.

icon description
A data item that can be viewed in a map. This implies the domain unit of the data item has a geographic relation (see how to model for How to configure a coordinate system). Dependent on the geographic domain, the data is visualized in a grid, point, arc or polygon layer
A data item that cannot be visualised on a map (it has no geographic relation), its default viewer is a table. The icon is one column of the table its domain unit carries, which is the whole table.
A data item that contains a palette (a set of colour values, corresponding to a classification) or a set of class breaks.
A container, not containing data items as direct subitems -- also when it has no subitems at all.
A container, containing data items as direct subitems, whose default viewer is a table.
A template definition.
A function definition. A function body is inert like a template body, so the icon is the template box, carrying a letter that tells the two apart.
A grid domain: a domain unit over a two-dimensional value type such as spoint or upoint.
Any other domain unit, i.e. a countable unit such as unit<uint32>. It is drawn as the whole table, the attributes over it being its columns.
A base unit: a unit whose metric is a single symbol, as BaseUnit(symbol, valuetype) yields. A unit that declares a projected SpatialReference in metres gets this icon too -- see below.
Any other values unit, i.e. one whose metric is derived (m/s, 1000 * m) or absent. A two-dimensional coordinate unit such as unit<fpoint> rdc is one of these, not a grid domain: it is not countable.

Items within a template get a grey icon and a purple name; see Text Colour below.

The Main menu and the title bars of the view windows take their icons from this same set. However, a tree icon and a menu icon say different things. A tree icon says what an item is. A menu icon says which view that entry opens.

why a coordinate unit can show the measuring tape

A unit can declare a projected coordinate reference system that is measured in metres. Such a unit carries the metric m, so it is drawn as the base unit that it is. It also gets the compass badge beside it, because it is georeferenced as well:

unit<fpoint> rdc_base : SpatialReference = "EPSG:28992";   // measuring tape + compass

That metric is what makes area(geom, m2) work over such a chain. A geographic CRS such as EPSG:4326 is measured in degrees. It deliberately carries no metric, so it shows the values-unit icon instead. A unit derived from a CRS-bearing unit, such as range(rdc_base, …) or gridset(rdc, …), carries the projection, not the metric. So it keeps its own icon and inherits only the compass.

colours

The TreeView uses text colours, background colours and status badges. They show where the data of an item comes from, the state of its calculation and the outcome of its integrity checks.

Text Colour: Data Provenance

The colour of the tree item name shows the origin of the data:

Color Description
Dark blue Source data: Data loaded from external files or databases.
Black Calculated data: Data generated by expressions within the GeoDMS.
Purple Template definitions: Items where data depends on the specific instantiation of a template.
Dark grey Containers: Items without values of their own.

Background Colour: Calculation State

The background colour shows the current state of the calculation process. It also shows the "interest" of the application in the item:

Color Status Description
White Idle Not calculated and not requested (no current interest).
Yellow Pending Not yet calculated, but currently requested by a view or process.
Green Available Calculated/updated and currently available for data retrieval.
Blue Standby Available for use, but no longer actively requested. Kept in memory for potential future use.
Red Error Calculation failed (syntax error, calculation error, or data-read error). No data available.

The application decides when tree items are updated. When a view on a data item is requested, the tree items that the view needs are updated first. Then the results are shown. How long a result stays available after that is described on calculation cache.

Settings > GUI options, section TreeView, Show state colors switches the state colours on or off.


the active item

The active tree item is the item that the Detail pages describe and that every menu option acts on. Its background colour is tinted with the selection colour of the desktop theme. While the TreeView has the keyboard focus, a dotted caret is also drawn around it. The tint stays, weaker, when the keyboard focus is elsewhere. So after a click in a Map View, a Table View or the Eventlog, the TreeView still shows which item the Detail pages describe.

situation how the item is drawn
active item, the TreeView has the keyboard focus its state colour, tinted with the theme's selection colour, and a dotted caret around the item
active item, the keyboard focus is elsewhere the same tint, weaker, and no caret
item under the mouse pointer a dashed outline

The state colour is tinted, not replaced, because a full selection fill would hide the calculation state that the background colour stands for. Sometimes a state colour is the selection colour itself, for example a blue standby item under the default Windows theme. Then the tint is lightened or darkened instead, so that an active item never looks like an inactive one.

The colours are not fixed: they are taken from the desktop theme. So they follow the accent colour and dark mode, with Settings > GUI options > Follow OS layout either on or off. On a machine on which GeoDMS has never run, that option is off.


Status Badges

Small icons (badges) give extra information about data integrity and storage status.

1. Validation Badges (Integrity)

These badges show the results of configured integrity checks:

  • Red Cross: The integrity check failed on this specific item.
  • Orange Cross: An integrity check failed somewhere in the supply chain (upstream) of this item.
  • Green Checkmark: The integrity check for this item passed successfully.
  • Green Ring: All integrity checks in the supply chain passed successfully.
  • Three Dots (...): Integrity checks exist in the supply chain, but not all of them have been evaluated yet.
2. Storage & Database Badges

These badges show the status of data persistence and external access.

Diskette Icons (Data Targets):

  • Grey Diskette: A data target is configured, but the data has not been saved yet.
  • Black Diskette: Data is successfully saved (Committed).
  • Red Diskette: A write error occurred while trying to save the data.

Database Icons (Data Sources):

  • Grey DB: Data is available to be read but has not been accessed yet.
  • Black DB: Data has been successfully read from the source.
  • Red DB: A read error occurred while accessing the external data source.
3. Spatial Reference Badge

A compass next to the name of a unit means that the unit is in a coordinate reference system. Either it declares a SpatialReference of its own, or it inherits one through its projection. So a gridset() over a CRS-bearing coordinate unit carries the compass as well. Hover over the item to see which CRS it is.

Unlike the badges above, this badge says nothing about a state; it is a property of the unit. It is a badge and not part of the icon, because being georeferenced does not depend on what the unit is. Both a grid domain and an fpoint coordinate unit can carry a CRS, and each keeps its own icon.

pop-up/context menu

Click the right mouse button to open a pop-up menu with actions on the active tree item. Some options are only available for data items, or for items with the status failed. In the screenshot, the right-clicked item is a polygon attribute. Therefore the chart options are disabled: a chart needs numeric or boolean values. The menu contains the following options:

  • Export primary data: exports the contents of the active data item (or the subitems of a container) with the export dialog.

  • Step up to FailReason: if a data item is failed, this option activates the first failed supplier.

  • Run up to Causa Prima (i.e. repeated Step up): if a data item is failed, the GeoDMS tries to find the item for which the first error occurs.

    Both options, and the F2 key of Step up to FailReason, also work on an item that did not fail itself, but whose failure comes from a container above it. The search for the cause includes the ancestors of the active item. So you can follow a failure inherited from a parent container, starting from the item where you notice it.

  • Open in Editor: Opens the current item in the Configuration File Editor as configured in the Settings > Local machine options dialog, section Configuration File Editor.

  • Update TreeItem: updates the tree item, without showing the result in a view. The process is shown in a process scheme.

  • Update SubTree: updates the tree item and all its subitems, without showing the result in a view. The process is shown in a process scheme.

  • Code Analysis: four options to find out if the configured item is used in calculating results:

    • set source: set the item as source item to be analysed
    • set target: set the item as target item for the calculation process
    • add target: add the item as target item for the calculation process
    • clear target: clear the item as target item for the calculation process
  • Default View: calculates the results and uses the default view to show them. The entry carries the icon of the view that it opens on this item. This is the same icon as that of the Table View or the Map View entry below it.

  • Table View: calculates the results and shows them in a table view.

  • Map View: calculates the results and shows them in a map view.

  • Statistics: calculates the results and shows them in a statistics window.

  • Histogram Chart, Scatter Chart, Line Chart, Bar Chart, Pie Chart: calculate the results and show them as a chart. The Pie Chart shows them as the parts of a total. Each entry has an icon of its own, and so does the window it opens. See Main menu, section View, for what each of them draws.

The nine view entries above are the entries of the View menu of the Main menu. Here they act on the tree item that you right-click, and each entry is named after the view it opens.

Clone this wiki locally