aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-12-05 10:56:30 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-12-05 10:56:30 +0200
commit14d46a0dc8593579aa9d3ea50ae2b838427463d4 (patch)
treef847fca4d740c39098f45ee0a278bb1c5c533e5f /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics
parent6150db333d81879d3aba19613cca67cb92b22774 (diff)
downloadTango-14d46a0dc8593579aa9d3ea50ae2b838427463d4.tar.gz
Tango-14d46a0dc8593579aa9d3ea50ae2b838427463d4.zip
Machine Studio v3.5.77
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Tango.MachineStudio.Statistics.csproj8
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Tooltips/PieChartTooltipControl.xaml14
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Tooltips/PieChartTooltipControl.xaml.cs58
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/MainViewVM.cs3
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/MainView.xaml11
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/MainView.xaml.cs11
6 files changed, 101 insertions, 4 deletions
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 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Models\LabeledSeriesCollection.cs" />
+ <Compile Include="Tooltips\PieChartTooltipControl.xaml.cs">
+ <DependentUpon>PieChartTooltipControl.xaml</DependentUpon>
+ </Compile>
<Compile Include="StatisticsModule.cs" />
<Compile Include="ViewModelLocator.cs" />
<Compile Include="ViewModels\MainViewVM.cs" />
@@ -83,6 +86,10 @@
<Compile Include="..\..\..\Versioning\GlobalVersionInfo.cs">
<Link>GlobalVersionInfo.cs</Link>
</Compile>
+ <Page Include="Tooltips\PieChartTooltipControl.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
<Page Include="Views\MainView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -146,5 +153,6 @@
<Name>Tango.MachineStudio.Common</Name>
</ProjectReference>
</ItemGroup>
+ <ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> \ 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 @@
+<UserControl x:Class="Tango.MachineStudio.Statistics.Tooltips.PieChartTooltipControl"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:local="clr-namespace:Tango.MachineStudio.Statistics.Tooltips"
+ mc:Ignorable="d"
+ d:DesignHeight="450" d:DesignWidth="800">
+ <Grid>
+ <Border Padding="10" Background="White" CornerRadius="5" BorderThickness="1" BorderBrush="Silver" MaxWidth="400">
+ <TextBlock Text="{Binding Title}" TextWrapping="Wrap"></TextBlock>
+ </Border>
+ </Grid>
+</UserControl>
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
+{
+ /// <summary>
+ /// Interaction logic for PieChartTooltipControl.xaml
+ /// </summary>
+ 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<Color> colors = new List<Color>();
@@ -164,6 +164,7 @@ namespace Tango.MachineStudio.Statistics.ViewModels
Values = new ChartValues<int>() { 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 @@
<Border BorderBrush="#181818" Padding="5" BorderThickness="1" CornerRadius="5" Margin="10">
<DockPanel>
<TextBlock DockPanel.Dock="Top" FontSize="16" FontWeight="Bold" HorizontalAlignment="Center" Padding="10" Text="{Binding PieJobFailedReasons.Title}"></TextBlock>
- <lvc:PieChart Series="{Binding PieJobFailedReasons.SeriesCollection}" LegendLocation="Bottom" SeriesColors="{Binding PieJobFailedReasons.SeriesColors}">
+ <UniformGrid Columns="2">
+ <lvc:PieChart DataHover="PieChart_DataHover" Series="{Binding PieJobFailedReasons.SeriesCollection}" LegendLocation="None" SeriesColors="{Binding PieJobFailedReasons.SeriesColors}">
+ <lvc:PieChart.DataTooltip>
+ <tooltips:PieChartTooltipControl Visibility="Hidden" />
+ </lvc:PieChart.DataTooltip>
+ </lvc:PieChart>
- </lvc:PieChart>
+ <TextBlock x:Name="txtPieTitle" TextWrapping="Wrap"></TextBlock>
+ </UniformGrid>
</DockPanel>
</Border>
</UniformGrid>
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;
+ }
}
}