source: trunk/CrypPlugins/KeySearcher/Presentation/Controls/StatisticsPresentation.xaml @ 2527

Last change on this file since 2527 was 2527, checked in by nolte, 11 years ago

Added more Information to the Information-Tag of the
StatisticPresentation.

File size: 14.4 KB
RevLine 
[2235]1<UserControl x:Class="KeySearcherPresentation.Controls.StatisticsPresentation"
2             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
[2285]5             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
6             xmlns:g="clr-namespace:KeySearcher.P2P.Helper"
7             xmlns:Controls="clr-namespace:KeySearcherPresentation.Controls" xmlns:System="clr-namespace:System;assembly=mscorlib" mc:Ignorable="d"
[2235]8             d:DesignHeight="300" d:DesignWidth="300">
[2260]9    <UserControl.Resources>
10        <Controls:InformationToProgressConverter x:Key="InformationToProgressConverter"/>
11        <Controls:InformationToProgressConverter2 x:Key="InformationToProgressConverter2"/>
[2293]12        <Controls:MachineSumToProgressConverter x:Key="MachineSumToProgressConverter"/>
[2330]13        <Controls:ChunkSumConverter x:Key="ChunkSumConverter"/>
14        <Controls:StringLengthConverter x:Key="StringLengthConverter"/>
[2393]15        <Controls:ColorToDateConverter x:Key="ColorToDateConverter"></Controls:ColorToDateConverter>
[2506]16        <RotateTransform x:Key="HeaderRotate" Angle="270" />
[2285]17        <g:WidthConverter x:Key="WidthConverter"></g:WidthConverter>
18        <AlternationConverter x:Key="TeamsBackgroundConverter">
19            <SolidColorBrush>LimeGreen</SolidColorBrush>
20            <SolidColorBrush>Red</SolidColorBrush>
21            <SolidColorBrush>Blue</SolidColorBrush>
22        </AlternationConverter>
[2393]23
24        <Style x:Key="ItemStyle" TargetType="TreeViewItem">
25            <Setter x:Name="P" Property="IsExpanded" Value="True" />
26        </Style>
27
28        <Style x:Key="ItemStyle2" TargetType="TreeViewItem">
29            <Setter x:Name="P" Property="IsExpanded" Value="False" />
30        </Style>
31
[2260]32    </UserControl.Resources>
33   
[2293]34    <TabControl>
[2500]35        <TabItem Header="{Loc _Information_}">
[2506]36            <Viewbox>
37                <Grid Width="400">
38                    <StackPanel>
39                        <Border BorderBrush="Silver" BorderThickness="2,2,2,2">
[2527]40                            <Grid Height="180" Background="#AFE2E2FF">
[2506]41                                <Grid.RowDefinitions>
[2527]42                                    <RowDefinition Height="30" />
43                                    <RowDefinition Height="30" />
44                                    <RowDefinition Height="30" />
45                                    <RowDefinition Height="30" />
46                                    <RowDefinition Height="30" />
47                                    <RowDefinition Height="30" />
[2506]48                                </Grid.RowDefinitions>
49                                <Grid.ColumnDefinitions>
50                                    <ColumnDefinition Width="26" />
51                                    <ColumnDefinition Width="*" />
52                                </Grid.ColumnDefinitions>
[2527]53                                <Border BorderThickness="1" BorderBrush="Black" LayoutTransform="{StaticResource HeaderRotate}" Grid.Column="0" Grid.RowSpan="6" Background="#FF5C5CFF">
[2506]54                                    <Label Content="{Loc Aggregate_Statistics_}" FontSize="11" HorizontalAlignment="Center" Foreground="White" />
55                                </Border>
56                                <Label Content="{Loc Total__Blocks__to__Search_}" VerticalAlignment="Center" Grid.Row="0" Grid.Column="1" />
57                                <Label Content="-" Name="TotalAmountOfBlocks" VerticalAlignment="Center" Grid.Row="0" Grid.Column="1" HorizontalContentAlignment="Right" Padding="5,5,20,5" />
58                                <Label Content="{Loc Total__Blocks__Tested_}" VerticalAlignment="Center" Grid.Row="1" Grid.Column="1" />
59                                <Label Content="-" Name="TotalBlocksTested" VerticalAlignment="Center" Grid.Row="1" Grid.Column="1" HorizontalContentAlignment="Right" Padding="5,5,20,5" />
60                                <Label Content="{Loc Total__Keys__to_Search_}" VerticalAlignment="Center" Grid.Row="2" Grid.Column="1" />
61                                <Label Content="-" Name="TotalAmountOfKeys" VerticalAlignment="Center" Grid.Row="2" Grid.Column="1" HorizontalContentAlignment="Right" Padding="5,5,20,5" />
62                                <Label Content="{Loc Total__Keys__Tested_}" VerticalAlignment="Center" Grid.Row="3" Grid.Column="1" />
63                                <Label Content="-" Name="TotalKeysTested" VerticalAlignment="Center" Grid.Row="3" Grid.Column="1" HorizontalContentAlignment="Right" Padding="5,5,20,5" />
[2527]64                                <Label Content="{Loc Working__Days_}" VerticalAlignment="Center" Grid.Row="4" Grid.Column="1" />
65                                <Label Content="- Days" Name="WorkingDays" VerticalAlignment="Center" Grid.Row="4" Grid.Column="1" HorizontalContentAlignment="Right" Padding="5,5,20,5" />
66                                <Label Content="{Loc Percent__Complete_}" VerticalAlignment="Center" Grid.Row="5" Grid.Column="1" />
67                                <Label Content="- %" Name="PercentsComplete" VerticalAlignment="Center" Grid.Row="5" Grid.Column="1" HorizontalContentAlignment="Right" Padding="5,5,20,5" />
68
[2506]69                            </Grid>
70                        </Border>
71
72                        <Border BorderBrush="Silver" BorderThickness="2,0,2,2">
73                            <Grid Height="160" Background="#AFAAE1E8">
74                                <Grid.RowDefinitions>
[2527]75                                    <RowDefinition Height="30" />
76                                    <RowDefinition Height="30" />
[2506]77                                    <RowDefinition Height="*" />
78                                </Grid.RowDefinitions>
79                                <Grid.ColumnDefinitions>
80                                    <ColumnDefinition Width="26" />
81                                    <ColumnDefinition Width="*" />
82                                </Grid.ColumnDefinitions>
83                                <Border BorderThickness="1" BorderBrush="Black" LayoutTransform="{StaticResource HeaderRotate}" Grid.Column="0" Grid.RowSpan="4" Background="#FF099BA7">
[2527]84                                    <Label Content="{Loc AdditionalInformation_}" FontSize="11" HorizontalAlignment="Center" Foreground="White" />
[2506]85                                </Border>
[2527]86                                <Label Content=" X users are working on this job" Name="UserCount" VerticalAlignment="Center" Grid.Row="0" Grid.Column="1" HorizontalContentAlignment="Left" Padding="5,5,20,5" />
87                                <Label Content=" X machines are working on this job" Name="MachineCount" VerticalAlignment="Center" Grid.Row="1" Grid.Column="1" HorizontalContentAlignment="Left" Padding="5,5,20,5" />
[2506]88                            </Grid>
89                        </Border>
90                   </StackPanel>
91                </Grid>
92            </Viewbox>
[2500]93        </TabItem>
[2295]94        <TabItem Header="{Loc _Users_}">
[2330]95            <Grid>
96                <Grid.ColumnDefinitions>
97                    <ColumnDefinition Width="120"/>
98                    <ColumnDefinition/>
99                </Grid.ColumnDefinitions>
100                <Grid.RowDefinitions>
101                    <RowDefinition Height="Auto"/>
102                    <RowDefinition ScrollViewer.VerticalScrollBarVisibility="Auto"/>
103                </Grid.RowDefinitions>
[2393]104                <StackPanel Orientation="Horizontal">
105                    <TextBlock Text="User/Host " Grid.Column="0" Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center"/>
106                </StackPanel>
107                <TextBlock Text="Calculated Chunks" Grid.Column="1" Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
108                <Button Content="Expand" Grid.Column="1" Grid.Row="0" Click="Button_Click" Width="50" HorizontalAlignment="Right"></Button>
[2330]109                <TreeView HorizontalAlignment="Stretch" Name="statisticsTree" VerticalAlignment="Stretch" ItemsSource="{Binding}" AlternationCount="3" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" >
110                    <TreeView.ItemTemplate>
111                        <HierarchicalDataTemplate ItemsSource="{Binding Path=Value}">
112                            <HierarchicalDataTemplate.ItemTemplate>
113                                <DataTemplate>
114                                    <StackPanel Orientation="Horizontal" Margin="1" ToolTip="{Binding Path=Value.Date}">
115                                        <Grid Width="70">
116                                            <TextBlock Text="{Binding Path=Value.Hostname, Converter={StaticResource ResourceKey=StringLengthConverter}}" HorizontalAlignment="Center" ToolTip="{Binding Path=Value.Hostname}"/>
117                                        </Grid>
118                                        <Grid>
[2393]119                                            <ProgressBar Width="{Binding ElementName=statisticsTree, Path=ActualWidth, Converter={StaticResource ResourceKey=WidthConverter}}" Value="{Binding Path=Value.Count, Mode=OneTime, Converter={StaticResource ResourceKey=InformationToProgressConverter2}}" Maximum="1">
120                                                <ProgressBar.Foreground>
121                                                    <MultiBinding Converter="{StaticResource ResourceKey=ColorToDateConverter}">
122                                                        <Binding Path="Value.Date" Mode="OneTime"></Binding>
123                                                        <Binding RelativeSource="{RelativeSource FindAncestor, AncestorLevel=2, AncestorType={x:Type TreeViewItem}}" Path="(ItemsControl.AlternationIndex)"></Binding>
124                                                    </MultiBinding>
125                                                </ProgressBar.Foreground>
126                                            </ProgressBar>
[2330]127                                            <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
128                                                <TextBlock Text="{Binding Path=Value.Count, StringFormat=\{0\,-5\}}"/>
129                                            </StackPanel>
130                                        </Grid>
131                                    </StackPanel>
132                                </DataTemplate>
133                            </HierarchicalDataTemplate.ItemTemplate>
[2285]134
135
[2330]136                            <StackPanel Orientation="Horizontal" Margin="1">
137                                <Grid Width="70">
138                                    <TextBlock Text="{Binding Path=Key, Converter={StaticResource ResourceKey=StringLengthConverter}}" HorizontalAlignment="Center" ToolTip="{Binding Path=Key}"/>
139                                </Grid>
140                                <Grid>
141                                    <ProgressBar x:Name="Bar" Foreground="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type TreeViewItem}},Path=(ItemsControl.AlternationIndex),Converter={StaticResource ResourceKey=TeamsBackgroundConverter}}" Value="{Binding Path=Value, Mode=OneTime, Converter={StaticResource ResourceKey=InformationToProgressConverter}}" Width="{Binding ElementName=statisticsTree, Path=ActualWidth, Converter={StaticResource ResourceKey=WidthConverter}}" Maximum="1" />
142                                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
143                                        <TextBlock Text="{Binding Path=Key, Converter={StaticResource ResourceKey=ChunkSumConverter}, StringFormat=\{0\,-5\}}"/>
144                                    </StackPanel>
145                                </Grid>
146                            </StackPanel>
147                        </HierarchicalDataTemplate>
148                    </TreeView.ItemTemplate>
149                </TreeView>
150            </Grid>
151           
152
[2293]153        </TabItem>
154       
[2295]155        <TabItem Header="{Loc _Machines_}">
[2330]156            <Grid>
157                <Grid.ColumnDefinitions>
158                    <ColumnDefinition Width="120"/>
159                    <ColumnDefinition/>
160                </Grid.ColumnDefinitions>
161                <Grid.RowDefinitions>
162                    <RowDefinition Height="Auto"/>
163                    <RowDefinition ScrollViewer.VerticalScrollBarVisibility="Auto"/>
164                </Grid.RowDefinitions>
165                <TextBlock Text="Hostname " Grid.Column="0" Grid.Row="0" HorizontalAlignment="Center"/>
166                <TextBlock Text="Calculated Chunks" Grid.Column="1" Grid.Row="0" HorizontalAlignment="Left"/>
167                <TreeView HorizontalAlignment="Stretch" Name="machineTree" VerticalAlignment="Stretch" ItemsSource="{Binding}" AlternationCount="3" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2">
168                    <TreeView.ItemTemplate>
169                        <HierarchicalDataTemplate ItemsSource="{Binding Path=Value}">
170                            <!--<HierarchicalDataTemplate.ItemTemplate>
[2293]171                            <DataTemplate>
172                                <TextBlock Text="{Binding Path=Users}"/>
173                            </DataTemplate>
174                        </HierarchicalDataTemplate.ItemTemplate>-->
[2330]175
176                            <StackPanel Orientation="Horizontal" Margin="1" ToolTip="{Binding Path=Value.Users}">
177                                <Grid Width="70">
178                                    <TextBlock Text="{Binding Path=Value.Hostname, Converter={StaticResource ResourceKey=StringLengthConverter}}" HorizontalAlignment="Center" ToolTip="{Binding Path=Value.Hostname}"/>
179                                </Grid>
180                                <Grid>
181                                    <ProgressBar Value="{Binding Path=Value.Sum, Mode=OneTime, Converter={StaticResource ResourceKey=MachineSumToProgressConverter}}" Width="{Binding ElementName=machineTree, Path=ActualWidth, Converter={StaticResource ResourceKey=WidthConverter}}" Maximum="1" />
182                                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
183                                        <TextBlock Text="{Binding Path=Value.Sum,StringFormat=\{0\,-5\}}"/>
184                                    </StackPanel>
185                                </Grid>
186                            </StackPanel>
187                        </HierarchicalDataTemplate>
188                    </TreeView.ItemTemplate>
189                </TreeView>
190            </Grid>
[2293]191        </TabItem>
192    </TabControl>
[2235]193</UserControl>
Note: See TracBrowser for help on using the repository browser.