From 14d46a0dc8593579aa9d3ea50ae2b838427463d4 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Wed, 5 Dec 2018 10:56:30 +0200 Subject: Machine Studio v3.5.77 --- .../Tango.MachineStudio.Statistics.csproj | 8 +++ .../Tooltips/PieChartTooltipControl.xaml | 14 ++++++ .../Tooltips/PieChartTooltipControl.xaml.cs | 58 ++++++++++++++++++++++ .../ViewModels/MainViewVM.cs | 3 +- .../Views/MainView.xaml | 11 +++- .../Views/MainView.xaml.cs | 11 +++- 6 files changed, 101 insertions(+), 4 deletions(-) create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Tooltips/PieChartTooltipControl.xaml create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Tooltips/PieChartTooltipControl.xaml.cs (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Tango.MachineStudio.Statistics.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Tango.MachineStudio.Statistics.csproj index 8bf0f78b8..eaa484edf 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Tango.MachineStudio.Statistics.csproj +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Tango.MachineStudio.Statistics.csproj @@ -74,6 +74,9 @@ + + PieChartTooltipControl.xaml + @@ -83,6 +86,10 @@ GlobalVersionInfo.cs + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -146,5 +153,6 @@ Tango.MachineStudio.Common + \ No newline at end of file diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Tooltips/PieChartTooltipControl.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Tooltips/PieChartTooltipControl.xaml new file mode 100644 index 000000000..07f1308ec --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Tooltips/PieChartTooltipControl.xaml @@ -0,0 +1,14 @@ + + + + + + + diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Tooltips/PieChartTooltipControl.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Tooltips/PieChartTooltipControl.xaml.cs new file mode 100644 index 000000000..0ee3a6025 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Tooltips/PieChartTooltipControl.xaml.cs @@ -0,0 +1,58 @@ +using LiveCharts; +using LiveCharts.Wpf; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tango.MachineStudio.Statistics.Tooltips +{ + /// + /// Interaction logic for PieChartTooltipControl.xaml + /// + public partial class PieChartTooltipControl : UserControl , IChartTooltip + { + public String Title + { + get { return (String)GetValue(TitleProperty); } + set { SetValue(TitleProperty, value); } + } + public static readonly DependencyProperty TitleProperty = + DependencyProperty.Register("Title", typeof(String), typeof(PieChartTooltipControl), new PropertyMetadata(null)); + + public PieChartTooltipControl() + { + InitializeComponent(); + DataContext = this; + SelectionMode = TooltipSelectionMode.OnlySender; + } + + private TooltipData _data; + + public TooltipData Data + { + get { return _data; } + set + { + _data = value; + Title = _data.SenderSeries.Title; + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Data))); + } + } + + public TooltipSelectionMode? SelectionMode { get; set; } + + public event PropertyChangedEventHandler PropertyChanged; + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/MainViewVM.cs index 82e47052b..492ccd30e 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/MainViewVM.cs @@ -133,7 +133,7 @@ namespace Tango.MachineStudio.Statistics.ViewModels private void GeneratePieFailedReasonsChart() { - var groups = GetJobRunsByStartDate(DateTime.Now.AddMonths(-1), JobRunStatus.Failed).GroupBy(x => x.FailedMessage); + var groups = GetJobRunsByStartDate(DateTime.Now.AddMonths(-1), JobRunStatus.Failed).GroupBy(x => x.FailedMessage).OrderBy(x => x.Count()); List colors = new List(); @@ -164,6 +164,7 @@ namespace Tango.MachineStudio.Statistics.ViewModels Values = new ChartValues() { count }, Fill = new SolidColorBrush(colors[index++]), DataLabels = true, + ToolTip = group.First().FailedMessage, }; PieJobFailedReasons.SeriesCollection.Add(series); diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/MainView.xaml index 56a16770a..f063c1675 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/MainView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/MainView.xaml @@ -6,6 +6,7 @@ xmlns:vm="clr-namespace:Tango.MachineStudio.Statistics.ViewModels" xmlns:global="clr-namespace:Tango.MachineStudio.Statistics" xmlns:local="clr-namespace:Tango.MachineStudio.Statistics.Views" + xmlns:tooltips="clr-namespace:Tango.MachineStudio.Statistics.Tooltips" xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" mc:Ignorable="d" d:DesignHeight="1080" d:DesignWidth="1920" Background="Transparent" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}"> @@ -36,9 +37,15 @@ - + + + + + + - + + diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/MainView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/MainView.xaml.cs index a9197ddb3..3948c4e5a 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/MainView.xaml.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/MainView.xaml.cs @@ -1,5 +1,8 @@ -using System; +using LiveCharts; +using LiveCharts.Wpf; +using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -24,5 +27,11 @@ namespace Tango.MachineStudio.Statistics.Views { InitializeComponent(); } + + private void PieChart_DataHover(object sender, ChartPoint chartPoint) + { + var tooltip = ((chartPoint.ChartView as PieChart).DataTooltip as Tooltips.PieChartTooltipControl).Title; + txtPieTitle.Text = tooltip; + } } } -- cgit v1.3.1