Example #1
0
 private void OnSeriesAdded(XYSeries series)
 {
     series.ChartArea        = (ChartArea)this;
     series.PropertyChanged += new PropertyChangedEventHandler(this.OnSeriesPropertyChanged);
     if (!this.IsInitializing)
     {
         this.SyncSeriesAndAxes();
     }
     else
     {
         series.UpdateActualValueTypes();
         series.UpdateActualDataPoints();
         series.UpdateActualDataRange();
         this.GetScale(series, AxisOrientation.X);
         this.GetScale(series, AxisOrientation.Y);
     }
     if (this.IsTemplateApplied)
     {
         series.SeriesPresenter.OnSeriesAdded();
     }
     if (this.DataVirtualizer == null)
     {
         return;
     }
     this.DataVirtualizer.InitializeSeries(series);
     this.LoadVirtualizedData((IEnumerable <XYSeries>) new XYSeries[1]
     {
         series
     });
 }
        internal static Tuple <DataValueType, DataValueType, bool, object> GetSeriesKey(StackedColumnSeries series)
        {
            DataValueType dataValueType = series.ActualYValueType;

            if (dataValueType == DataValueType.Auto)
            {
                if (series.ChartArea != null)
                {
                    XYSeries xySeries = (XYSeries)Enumerable.FirstOrDefault <ColumnSeries>(Enumerable.OfType <ColumnSeries>((IEnumerable)series.ChartArea.GetSeries()), (Func <ColumnSeries, bool>)(s => s.ActualYValueType != DataValueType.Auto));
                    if (xySeries != null)
                    {
                        dataValueType = xySeries.ActualYValueType;
                    }
                }
                if (dataValueType == DataValueType.Auto && series.ActualYDataRange.HasData)
                {
                    dataValueType = ValueHelper.GetDataValueType((object)series.ActualYDataRange.Minimum);
                }
                else
                {
                    series.UpdateActualValueTypes();
                    dataValueType = series.ActualYValueType;
                }
            }
            if (dataValueType == DataValueType.Integer)
            {
                dataValueType = DataValueType.Float;
            }
            return(new Tuple <DataValueType, DataValueType, bool, object>(dataValueType, series.ActualXValueType, series.IsHundredPercent, series.GroupingKey));
        }
Example #3
0
 private bool IsXAxisReverseRequired(XYSeries series)
 {
     if (this.FlowDirection == FlowDirection.RightToLeft && this.Orientation == Orientation.Horizontal)
     {
         return(series.XAxis.Scale is NumericScale);
     }
     return(false);
 }
Example #4
0
        protected virtual Range <IComparable> GetActualYDataRange()
        {
            IEnumerable <object> yvalues = XYSeries.GetYValues((IEnumerable <DataPoint>) this.ActualDataPoints);

            if (this.ActualYValueType == DataValueType.Category)
            {
                this.YValues = Enumerable.Distinct <object>(yvalues);
            }
            return(this.YAggregator.GetRange(yvalues));
        }
Example #5
0
 internal IEnumerable <XYSeries> FindClusterSeries(XYSeries series)
 {
     return(Enumerable.Where <XYSeries>((IEnumerable <XYSeries>) this.Series, (Func <XYSeries, bool>)(item =>
     {
         if (item.ClusterKey == series.ClusterKey)
         {
             return item.Visibility == Visibility.Visible;
         }
         return false;
     })));
 }
Example #6
0
 private void OnSeriesRemoved(XYSeries series)
 {
     series.PropertyChanged -= new PropertyChangedEventHandler(this.OnSeriesPropertyChanged);
     if (!this.IsInitializing)
     {
         this.SyncSeriesAndAxes();
     }
     if (!this.IsTemplateApplied)
     {
         return;
     }
     series.SeriesPresenter.OnSeriesRemoved();
 }
Example #7
0
        internal Axis GetAxis(XYSeries series, AxisOrientation orientation)
        {
            Axis axis;

            if (orientation == AxisOrientation.X)
            {
                axis             = this.GetAxis(series.XAxisName, orientation);
                series.XAxisName = axis.Name;
            }
            else
            {
                axis             = this.GetAxis(series.YAxisName, orientation);
                series.YAxisName = axis.Name;
            }
            return(axis);
        }
Example #8
0
        public Scale GetScale(XYSeries series, AxisOrientation orientation)
        {
            Axis          axis      = this.GetAxis(series, orientation);
            DataValueType valueType = orientation == AxisOrientation.X ? series.ActualXValueType : series.ActualYValueType;

            if (valueType != DataValueType.Auto)
            {
                if (axis.Scale != null && !axis.Scale.CanProject(valueType))
                {
                    bool flag = false;
                    foreach (XYSeries xySeries in this.FindSeriesWithDefinedValueType(axis))
                    {
                        if (xySeries != series && xySeries.DataPoints.Count > 0)
                        {
                            DataValueType dataValueType = orientation == AxisOrientation.X ? xySeries.ActualXValueType : xySeries.ActualYValueType;
                            if (valueType != dataValueType && dataValueType != DataValueType.Auto)
                            {
                                flag = true;
                                break;
                            }
                        }
                    }
                    if (!flag)
                    {
                        axis.Scale = (Scale)null;
                    }
                    else
                    {
                        axis             = this.FindAxis(valueType, orientation) ?? this.CreateAxis((string)null, orientation);
                        series.XAxisName = axis.Name;
                    }
                }
            }
            else
            {
                valueType = DataValueType.Float;
            }
            if (axis.Scale == null)
            {
                axis.Scale = Scale.CreateScaleByType(valueType);
                if (this.DataVirtualizer != null)
                {
                    this.DataVirtualizer.InitializeAxisScale(axis, axis.Scale);
                }
            }
            return(axis.Scale);
        }
Example #9
0
        private void OnSeriesPropertyChanged(object sender, PropertyChangedEventArgs args)
        {
            if (this.IsInitializing)
            {
                return;
            }
            XYSeries series = sender as XYSeries;

            switch (args.PropertyName)
            {
            case "ActualXDataRange":
                this.UpdateScaleRangeIfUndefined(series.XAxis, series.ActualXValueType);
                break;

            case "ActualYDataRange":
                this.UpdateScaleRangeIfUndefined(series.YAxis, series.ActualYValueType);
                break;

            case "XValues":
                this.UpdateScaleValuesIfUndefined(series.XAxis, series.ActualXValueType);
                break;

            case "YValues":
                this.UpdateScaleValuesIfUndefined(series.YAxis, series.ActualYValueType);
                break;

            case "ActualXValueType":
                this.UpdateScaleValueType(series.XAxis);
                series.XAxis.IsReversed = this.IsXAxisReverseRequired(series);
                break;

            case "ActualYValueType":
                this.UpdateScaleValueType(series.YAxis);
                break;

            case "Visibility":
                this.UpdateScaleRangeIfUndefined(series.XAxis, series.ActualXValueType);
                this.UpdateScaleRangeIfUndefined(series.YAxis, series.ActualYValueType);
                break;
            }
        }
Example #10
0
 private void RecalculateXIntervals()
 {
     if (this._chartArea == null || this._chartArea.Series.Count <= 0)
     {
         return;
     }
     if (double.IsNaN(this.XScaleLabelDensity))
     {
         XYSeries xySeries = Enumerable.FirstOrDefault <XYSeries>((IEnumerable <XYSeries>) this._chartArea.Series);
         if (xySeries != null)
         {
             Scale scale = xySeries.XAxis.Scale;
             if (scale != null)
             {
                 this._xScalePositions = LabelVisibilityManager.GetScalePositions(scale);
             }
         }
     }
     else
     {
         this._xScalePositions = LabelVisibilityManager.IterateDoubles(0.0, 1.0, 1.0 / this.XScaleLabelDensity);
     }
     this._dataPointRanges.Clear();
 }
Example #11
0
 public PointSeriesPresenter(XYSeries series)
     : base(series)
 {
 }
Example #12
0
 public Scale GetScale(XYSeries series, AxisOrientation orientation)
 {
     Axis axis = this.GetAxis(series, orientation);
     DataValueType valueType = orientation == AxisOrientation.X ? series.ActualXValueType : series.ActualYValueType;
     if (valueType != DataValueType.Auto)
     {
         if (axis.Scale != null && !axis.Scale.CanProject(valueType))
         {
             bool flag = false;
             foreach (XYSeries xySeries in this.FindSeriesWithDefinedValueType(axis))
             {
                 if (xySeries != series && xySeries.DataPoints.Count > 0)
                 {
                     DataValueType dataValueType = orientation == AxisOrientation.X ? xySeries.ActualXValueType : xySeries.ActualYValueType;
                     if (valueType != dataValueType && dataValueType != DataValueType.Auto)
                     {
                         flag = true;
                         break;
                     }
                 }
             }
             if (!flag)
             {
                 axis.Scale = (Scale)null;
             }
             else
             {
                 axis = this.FindAxis(valueType, orientation) ?? this.CreateAxis((string)null, orientation);
                 series.XAxisName = axis.Name;
             }
         }
     }
     else
         valueType = DataValueType.Float;
     if (axis.Scale == null)
     {
         axis.Scale = Scale.CreateScaleByType(valueType);
         if (this.DataVirtualizer != null)
             this.DataVirtualizer.InitializeAxisScale(axis, axis.Scale);
     }
     return axis.Scale;
 }
Example #13
0
 internal IEnumerable<XYSeries> FindClusterSeries(XYSeries series)
 {
     return Enumerable.Where<XYSeries>((IEnumerable<XYSeries>)this.Series, (Func<XYSeries, bool>)(item =>
       {
       if (item.ClusterKey == series.ClusterKey)
           return item.Visibility == Visibility.Visible;
       return false;
       }));
 }
Example #14
0
 public LineSeriesPresenter(XYSeries series)
     : base(series)
 {
     this.IsRootPanelClipped = true;
 }
Example #15
0
 internal Axis GetAxis(XYSeries series, AxisOrientation orientation)
 {
     Axis axis;
     if (orientation == AxisOrientation.X)
     {
         axis = this.GetAxis(series.XAxisName, orientation);
         series.XAxisName = axis.Name;
     }
     else
     {
         axis = this.GetAxis(series.YAxisName, orientation);
         series.YAxisName = axis.Name;
     }
     return axis;
 }
Example #16
0
 public PointSeriesPresenter(XYSeries series)
     : base(series)
 {
 }
Example #17
0
 protected XYSeriesPresenter(XYSeries series)
     : base((Semantic.Reporting.Windows.Chart.Internal.Series)series)
 {
     this.IsSimplifiedRenderingModeCheckRequired = true;
 }
Example #18
0
 public ColumnSeriesPresenter(XYSeries series)
     : base(series)
 {
     this.IsRootPanelClipped = true;
     this.DefaultSimplifiedRenderingThreshold = 200;
 }
Example #19
0
 protected XYSeriesPresenter(XYSeries series)
     : base((Semantic.Reporting.Windows.Chart.Internal.Series)series)
 {
     this.IsSimplifiedRenderingModeCheckRequired = true;
 }
Example #20
0
 private void OnSeriesRemoved(XYSeries series)
 {
     series.PropertyChanged -= new PropertyChangedEventHandler(this.OnSeriesPropertyChanged);
     if (!this.IsInitializing)
         this.SyncSeriesAndAxes();
     if (!this.IsTemplateApplied)
         return;
     series.SeriesPresenter.OnSeriesRemoved();
 }
Example #21
0
 private void OnSeriesAdded(XYSeries series)
 {
     series.ChartArea = (ChartArea)this;
     series.PropertyChanged += new PropertyChangedEventHandler(this.OnSeriesPropertyChanged);
     if (!this.IsInitializing)
     {
         this.SyncSeriesAndAxes();
     }
     else
     {
         series.UpdateActualValueTypes();
         series.UpdateActualDataPoints();
         series.UpdateActualDataRange();
         this.GetScale(series, AxisOrientation.X);
         this.GetScale(series, AxisOrientation.Y);
     }
     if (this.IsTemplateApplied)
         series.SeriesPresenter.OnSeriesAdded();
     if (this.DataVirtualizer == null)
         return;
     this.DataVirtualizer.InitializeSeries(series);
     this.LoadVirtualizedData((IEnumerable<XYSeries>)new XYSeries[1]
     {
     series
     });
 }
Example #22
0
 private bool IsXAxisReverseRequired(XYSeries series)
 {
     if (this.FlowDirection == FlowDirection.RightToLeft && this.Orientation == Orientation.Horizontal)
         return series.XAxis.Scale is NumericScale;
     return false;
 }