aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/MainView.xaml
blob: 55804c7b3e23959afaa4baf6533b873654ba9579 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<UserControl x:Class="Tango.MachineStudio.Statistics.Views.MainView"
             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:vm="clr-namespace:Tango.MachineStudio.Statistics.ViewModels"
             xmlns:global="clr-namespace:Tango.MachineStudio.Statistics"
             xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
             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}">
    <Grid IsEnabled="{Binding IsFree}"> 
        <Grid.RowDefinitions>
            <RowDefinition Height="80"/>
            <RowDefinition Height="337*"/>
        </Grid.RowDefinitions>

        <StackPanel Margin="60 20 0 0" VerticalAlignment="Center" HorizontalAlignment="Left" Orientation="Horizontal">
            <StackPanel>
                <TextBlock FontSize="10">Start Date:</TextBlock>
                <DatePicker DisplayDateStart="{Binding MinDate}" DisplayDateEnd="{Binding MaxDate}" SelectedDate="{Binding StartDate}" materialDesign:HintAssist.Hint="Pick start date" Width="200" VerticalAlignment="Bottom" FontSize="16"></DatePicker>
            </StackPanel>

            <StackPanel Margin="40 0 0 0">
                <TextBlock FontSize="10">End Date:</TextBlock>
                <DatePicker DisplayDateStart="{Binding MinDate}" DisplayDateEnd="{Binding MaxDate}" SelectedDate="{Binding EndDate}" materialDesign:HintAssist.Hint="Pick end date" Width="200" VerticalAlignment="Bottom" FontSize="16"></DatePicker>
            </StackPanel>
        </StackPanel>

        <UniformGrid Columns="3" Margin="50 20 50 50" Rows="2" Grid.Row="1">
            <Border BorderBrush="{StaticResource Statistics.BorderBrush}" Padding="5" BorderThickness="1" CornerRadius="5" Margin="10">
                <DockPanel>
                    <TextBlock DockPanel.Dock="Top" FontSize="16" FontWeight="Bold" HorizontalAlignment="Center" Padding="10" Text="{Binding TimelineJobStatusSeries.Title}"></TextBlock>
                    <lvc:CartesianChart Series="{Binding TimelineJobStatusSeries.SeriesCollection}" LegendLocation="Bottom" SeriesColors="{Binding TimelineJobStatusSeries.SeriesColors}">
                        <lvc:CartesianChart.DataTooltip>
                            <lvc:DefaultTooltip BulletSize="20" Background="{StaticResource TransparentBackgroundBrush450}" Foreground="{StaticResource Dialog.Foreground}"/>
                        </lvc:CartesianChart.DataTooltip>
                        <lvc:CartesianChart.AxisX>
                            <lvc:Axis Title="{Binding TimelineJobStatusSeries.LabelsTitle}" Labels="{Binding TimelineJobStatusSeries.Labels}" Foreground="{StaticResource DarkGrayBrush200}">
                                <lvc:Axis.Separator>
                                    <lvc:Separator Stroke="#A5A5A5" />
                                </lvc:Axis.Separator>
                            </lvc:Axis>
                        </lvc:CartesianChart.AxisX>
                        <lvc:CartesianChart.AxisY>
                            <lvc:Axis Title="{Binding TimelineJobStatusSeries.ChartTitle}" MinValue="0" Foreground="{StaticResource DarkGrayBrush200}" >
                                <lvc:Axis.Separator>
                                    <lvc:Separator Stroke="#B0B0B0" />
                                </lvc:Axis.Separator>
                            </lvc:Axis>
                        </lvc:CartesianChart.AxisY>
                    </lvc:CartesianChart>
                </DockPanel>
            </Border>

            <Border BorderBrush="{StaticResource Statistics.BorderBrush}" 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>
                    <UniformGrid Columns="2">
                        <lvc:PieChart DataHover="PieChart_DataHover" Series="{Binding PieJobFailedReasons.SeriesCollection}" LegendLocation="None" SeriesColors="{Binding PieJobFailedReasons.SeriesColors}" Background="Transparent">
                            <lvc:PieChart.Resources>
                                <Style TargetType="lvc:PieSeries">
                                    <Setter Property="Stroke" Value="#99F9F9F9"></Setter>
                                    <Setter Property="StrokeThickness" Value="2"/>
                                </Style>
                            </lvc:PieChart.Resources>
                            <lvc:PieChart.DataTooltip>
                                <tooltips:PieChartTooltipControl Visibility="Hidden" />
                            </lvc:PieChart.DataTooltip>
                        </lvc:PieChart>

                        <TextBlock x:Name="txtPieTitle" TextWrapping="Wrap"></TextBlock>
                    </UniformGrid>
                </DockPanel>
            </Border>

            <Border BorderBrush="{StaticResource Statistics.BorderBrush}" Padding="5" BorderThickness="1" CornerRadius="5" Margin="10">
                <DockPanel>
                    <TextBlock DockPanel.Dock="Top" FontSize="16" FontWeight="Bold" HorizontalAlignment="Center" Padding="10" Text="{Binding PrintPerWeekSeries.Title}"></TextBlock>
                    <lvc:CartesianChart Series="{Binding PrintPerWeekSeries.SeriesCollection}" LegendLocation="Bottom" SeriesColors="{Binding PrintPerWeekSeries.SeriesColors}" >
                        <lvc:CartesianChart.Resources>
                            <Style TargetType="lvc:ColumnSeries">
                                <Setter Property="Foreground" Value="{StaticResource DarkGrayBrush200}"></Setter>
                            </Style>
                        </lvc:CartesianChart.Resources>
                        <lvc:CartesianChart.AxisX>
                            <lvc:Axis Title="{Binding PrintPerWeekSeries.LabelsTitle}" Labels="{Binding PrintPerWeekSeries.Labels}" Foreground="{StaticResource DarkGrayBrush200}">
                                <lvc:Axis.Separator>
                                    <lvc:Separator Stroke="#A5A5A5" />
                                </lvc:Axis.Separator>
                            </lvc:Axis>
                        </lvc:CartesianChart.AxisX>
                        <lvc:CartesianChart.AxisY>
                            <lvc:Axis Title="{Binding PrintPerWeekSeries.ChartTitle}" MinValue="0" Foreground="{StaticResource DarkGrayBrush200}" >
                                <lvc:Axis.Separator>
                                    <lvc:Separator Stroke="#6F6F6F" />
                                </lvc:Axis.Separator>
                            </lvc:Axis>
                        </lvc:CartesianChart.AxisY>
                        <lvc:CartesianChart.DataTooltip>
                            <lvc:DefaultTooltip BulletSize="20" Background="{StaticResource TransparentBackgroundBrush450}" Foreground="{StaticResource Dialog.Foreground}"/>
                        </lvc:CartesianChart.DataTooltip>
                    </lvc:CartesianChart>
                </DockPanel>
            </Border>
        </UniformGrid>
    </Grid>
</UserControl>