コード例 #1
0
 public void DrawingLineList()
 {
     if (this.LineServicesData != null)
     {
         foreach (LineService info in this.LineServicesData)
         {
             if (info.LineServicesData == null)
             {
                 continue;
             }
             double num2 = 18;
             double num3 = Convert.ToDouble(18) / Convert.ToDouble(10);
             for (int i = 0; i < info.LineServicesData.Count; i++)
             {
                 info.LineServicesData[i].PointX = num2 * ((info.LineServicesData[i].PointXDate.TimeOfDay.TotalMinutes - GanttColumnsItem[0].TimeName.TimeOfDay.TotalMinutes) / 5);
                 if (info.ChartLineType == ChartLineType.Number)
                 {
                     info.LineServicesData[i].ScreenPointY = info.TopItemIndex * 18;
                 }
                 else if (info.ChartLineType == ChartLineType.Description)
                 {
                     info.LineServicesData[i].ScreenPointY = 18 + info.TopItemIndex * 18;
                 }
                 else
                 {
                     info.LineServicesData[i].ScreenPointY = BorderChart.Height - (info.LineServicesData[i].PointY * num3);
                 }
             }
         }
         foreach (LineService curve in this.LineServicesData)
         {
             if (curve.LineServicesData == null)
             {
                 continue;
             }
             Point[] array = new Point[curve.LineServicesData.Count];
             for (int i = 0; i < curve.LineServicesData.Count; i++)
             {
                 array[i] = new Point(curve.LineServicesData[i].PointX, curve.LineServicesData[i].ScreenPointY);
             }
             if ((curve.ChartLineType == ChartLineType.BezierType) || (curve.ChartLineType == ChartLineType.BezierKnotsType))
             {
                 Point[] pointArray2;
                 Point[] pointArray3;
                 BezierSpline.GetCurveControlPoints(array, out pointArray2, out pointArray3);
                 this.DrawBezierChartData(curve.LineLegendItem.Color, array, pointArray2, pointArray3);
                 if (curve.ChartLineType == ChartLineType.BezierKnotsType)
                 {
                 }
             }
             else if ((curve.ChartLineType == ChartLineType.PolylineType) || (curve.ChartLineType == ChartLineType.PolylineKnotsType))
             {
                 this.DrawPolylineChartData(array, curve);
                 if (curve.ChartLineType == ChartLineType.PolylineKnotsType)
                 {
                     DrawPolylineKnotsChartData(array, curve);
                 }
             }
             else if (curve.ChartLineType == ChartLineType.Knots)
             {
                 DrawKnotsChartData(curve.LineLegendItem.Color, array, curve.LineLegendItem.TitleIcon);
             }
             else if (curve.ChartLineType == ChartLineType.Number)
             {
                 ObservableCollection <int> dataList = new ObservableCollection <int>();
                 foreach (var item in curve.LineServicesData)
                 {
                     dataList.Add(item.DataValue);
                 }
                 DrawNumberChartData(curve.LineLegendTopItem.Color, array, dataList);
             }
             else if (curve.ChartLineType == ChartLineType.Description)
             {
                 if (curve.LineServicesData.Count > 0)
                 {
                     DrawDescriptionChartData(curve.LineLegendTopItem.Color, array, curve.LineServicesData[0].InfoDescription);
                 }
             }
         }
     }
 }