statistics: implement a structure representing the chart state

The StatsState structure fully describes the current state of
the chart: the selected axes, operations and additional chart
features, such as legend or labels.

The code implements sanity checks and reacts accordingly,
if an invalid combination of variables and charts is chosen.

The chart and variable lists to be displayed can be queried
and are encapsulated in the StatsState::UIState structure.

Some variable / chart combinations are possible, but not
recommended, which is represented by a warning flag.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2021-01-01 22:37:55 +01:00 committed by Dirk Hohndel
parent cccc0abc0c
commit a034014a6a
3 changed files with 618 additions and 0 deletions

View file

@ -23,6 +23,8 @@ set(SUBSURFACE_STATS_SRCS
statscolors.cpp
statsseries.h
statsseries.cpp
statsstate.h
statsstate.cpp
statsvariables.h
statsvariables.cpp
zvalues.h