diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2021-01-03 00:31:55 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2021-01-03 13:41:15 -0800 |
commit | 7b0455b4d8af2d8a917810cc467376a6d7653a23 (patch) | |
tree | edb3e764d5e7fcddcd2217111325aa7366d8d3aa /stats/statsstate.h | |
parent | 106f7a8e0ed43a775bec5fa96f6e072c47653850 (diff) | |
download | subsurface-7b0455b4d8af2d8a917810cc467376a6d7653a23.tar.gz |
statistics: reverse chart selection logic
The old ways was to select the chart first, then depending on
the chart choose the binning.
Willem says that it should work the other way round: select
the binning (or operation) and make the charts depend on
that.
I'm not arguing one way or the other, just note that the new
way is much more tricky, because it is easy to get unsupported
combinations. For example, there is no chart where the
first variable is unbinned, but the second axis is binned
or has an operation. This makes things distinctly more tricky
and this code still needs a thorough audit.
Since this is all more tricky, implement a "invalid" chart
state. Ideally that should be never shown to the user, but
let's try to be defensive.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'stats/statsstate.h')
-rw-r--r-- | stats/statsstate.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/stats/statsstate.h b/stats/statsstate.h index d4713d414..1d8fe0b05 100644 --- a/stats/statsstate.h +++ b/stats/statsstate.h @@ -19,7 +19,8 @@ enum class ChartType { HistogramValue, HistogramBox, HistogramStacked, - ScatterPlot + ScatterPlot, + Invalid }; enum class ChartSubType { @@ -35,6 +36,7 @@ enum class ChartSubType { Count }; +struct ChartTypeDesc; // Internal implementation detail struct StatsVariable; struct StatsBinner; enum class StatsOperation : int; @@ -111,9 +113,6 @@ public: StatsOperation var2Operation; private: void validate(bool varChanged); - bool var1Binned; - bool var2Binned; - bool var2HasOperations; int chartFeatures; }; |