.. add a reference count for clones and originals, noting
that for user metrics the factory gets a clone and the
original is always deleted at startup.
.. additionally when the clone in the factory is deleted
on metric changes we finally delete the program that
was created initially.
.. note there is also a fix to let the configuration
settings spot when aggregate zero and istime change
in options as these were not spotted before.
.. for thread safety the Leaf tree must NOT be used for state
data when parsing / evaluating data filters -- the
DataFilterRuntime object should be used.
.. updated to use this for xcurrent/xnext during XDATA
processing which fixes UserMetric calculation using XDATA
for intervals
.. also added a 'print' function in the datafilter syntax to
help with debugging calculations.
For builtin metrics it shows the newly added description if available
and refers to the Glossary otherwise
For user defined metrics it is the text provided by the user
Complete descriptions for Running and Swimming metrics and partial
update for BasicMetrics, it defaults to a message referring to the wiki.
Fixes#1850
Introducing a directory structure to make it a bit less
daunting for new developers and perhaps even old hands.
The main folders all start with an upper character, so src
files are now located in;
* Core - Core data structures
* Gui - Main GUI elements
* Metrics - Models and Metrics
* FileIO - Device and File I/O
* Charts - All the chart types
* Cloud - Working with Web Resources
* Train - Anything Train View specific
* ANT - Our ANT+ Stack
* Resources - Images, Translations, Web etc
Apologies to anyone who needs to merge across this update.