Ejemplo n.º 1
0
        /// <summary>A list of all descriptor names that can be listed as 'vary by' in markers/line types etc.</summary>
        public IEnumerable <string> GetDescriptorNames(IStorageReader reader)
        {
            var simulationDescriptions = GraphPage.FindSimulationDescriptions(this);
            var names = new List <string>();

            foreach (var simulationDescription in simulationDescriptions)
            {
                names.AddRange(simulationDescription.Descriptors.Select(d => d.Name));
            }
            names.Add("Graph series");

            // Add all string and integer fields to descriptor names.
            foreach (var column in reader.GetColumns(TableName))
            {
                if (column.Item2 == typeof(string) || column.Item2 == typeof(int))
                {
                    if (column.Item1 != "CheckpointID" && column.Item1 != "SimulationID")
                    {
                        names.Add(column.Item1);
                    }
                }
            }

            return(names.Distinct());
        }