public void MoveDiagramData(int horizontalPoints, int verticalPoints) { if (!_diagramDataPanAndZoomer.MoveLimits(AllSeriesUnited, Calculator, horizontalPoints, verticalPoints, ref DiagramDataExtremums)) { return; } ExtractDataBetweenLimits(); DiagramDataExtremums = CurrentSeriesUnited.FindDataExtremums(DiagramMode); Draw(); }
private void ShowThisMonth(object sender, RoutedEventArgs e) { var date = AllSeriesUnited.DiagramData.Last().Key; DiagramDataExtremums.MinDate = new DateTime(date.Year, date.Month, 1); DiagramDataExtremums.MaxDate = date; ExtractDataBetweenLimits(); DiagramDataExtremums = CurrentSeriesUnited.FindDataExtremums(DiagramMode); Draw(); }
private void ChangeDiagramForNewStyle(DiagramMode newDiagramMode) { DiagramMode = newDiagramMode; AllSeriesUnited = new DiagramDataSeriesUnited(AllDiagramData); AllSeriesUnited.StackAllData(newDiagramMode, GroupInterval); ExtractDataBetweenLimits(); DiagramDataExtremums = CurrentSeriesUnited.FindDataExtremums(DiagramMode); Draw(); }
public void ZoomDiagram(int delta) { if (!_diagramDataPanAndZoomer.ZoomLimits(CurrentSeriesUnited, GroupInterval, delta, ref DiagramDataExtremums)) { return; } ExtractDataBetweenLimits(); DiagramDataExtremums = CurrentSeriesUnited.FindDataExtremums(DiagramMode); Draw(); }
public void ChangeLine() { if (DiagramMode != DiagramMode.SeparateLines) { return; } if (CurrentSeriesUnited.ActiveLine == CurrentSeriesUnited.SeriesCount - 1) { CurrentSeriesUnited.ActiveLine = 0; } else { CurrentSeriesUnited.ActiveLine++; } DiagramDataExtremums = CurrentSeriesUnited.FindDataExtremums(DiagramMode); Draw(); }
private void ChangeDiagramForNewGrouping(Every groupPeriod) { GroupInterval = groupPeriod; AllSeriesUnited = new DiagramDataSeriesUnited(AllDiagramData); AllSeriesUnited.GroupAllData(groupPeriod, DiagramMode); if (groupPeriod == Every.Year) { DefineYearsLimits(); } else { DiagramDataExtremums.MaxDate = new DateTime(DiagramDataExtremums.MaxDate.Year, 12, 31); } ExtractDataBetweenLimits(); DiagramDataExtremums = CurrentSeriesUnited.FindDataExtremums(DiagramMode); Draw(); }
void BarDiagramControlOnLoaded(object sender, RoutedEventArgs e) { // набор серий надо преобразовать в структуру, // где одной дате соответствуют значения для разных серий AllSeriesUnited = new DiagramDataSeriesUnited(AllDiagramData); if (AllSeriesUnited.SeriesCount == 0) { return; } GroupInterval = AllDiagramData.TimeInterval; DiagramMode = AllDiagramData.Mode; CurrentSeriesUnited = new DiagramDataSeriesUnited(AllSeriesUnited); DiagramDataExtremums = CurrentSeriesUnited.FindDataExtremums(DiagramMode); _diagramDrawer = new DiagramDrawer(); _diagramDataPanAndZoomer = new DiagramDataPanAndZoomer(); Draw(); var window = Window.GetWindow(this); if (window != null) { window.KeyDown += OnKeyDown; } // var diagramLegendCreator = new DiagramLegendCreator(AllDiagramData); // LegendImage.Source = diagramLegendCreator.Create(); DiagramLegend = new ObservableCollection <DiagramLegendItem>(); foreach (var series in AllDiagramData.Series) { DiagramLegend.Add(new DiagramLegendItem() { SeriesName = series.Name, FontColor = series.PositiveBrushColor }); } Legend.ItemsSource = DiagramLegend; StatusBar.Text = "Ctrl+LeftButton - сдвиг изображения; LeftButton - зум прямоугольника"; }
public void ShowAll() { CurrentSeriesUnited.DiagramData = new SortedList <DateTime, List <double> >(AllSeriesUnited.DiagramData); DiagramDataExtremums = CurrentSeriesUnited.FindDataExtremums(DiagramMode); Draw(); }
public void ZoomRectFromDiagramData(Point leftTop, Point rightBottom) { CurrentSeriesUnited.DiagramData = _diagramDataPanAndZoomer.FindLimitsForRect(CurrentSeriesUnited.DiagramData, Calculator, leftTop, rightBottom); DiagramDataExtremums = CurrentSeriesUnited.FindDataExtremums(DiagramMode); Draw(); }