source: trunk/CrypPlugins/KeySearcher/Presentation/Controls/P2PQuickWatchPresentation.xaml @ 1704

Last change on this file since 1704 was 1704, checked in by Paul Lelgemann, 12 years ago

+ KeySearcher: display of aggregated linkmanager statistics
o KeySearcher: job identifier extended with sample decryption data to preserve decryption algorithm settings

File size: 11.1 KB
Line 
1<UserControl x:Class="KeySearcherPresentation.Controls.P2PQuickWatchPresentation" 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:Converter="clr-namespace:KeySearcherConverter" mc:Ignorable="d" x:Name="P2PQuickWatch" d:DesignHeight="472" d:DesignWidth="400">
2        <UserControl.Resources>
3                <Converter:TrueToVisibleOrCollapsedConverter x:Key="TrueToVisibleOrCollapsedConverter" />
4        <Converter:TimeSpanToRoundedStringConverter x:Key="TimeSpanToRoundedStringConverter" />
5        <Converter:LongToSizeMetricString x:Key="LongToSizeMetricString" />
6        </UserControl.Resources>
7        <Viewbox>
8                <Grid Width="400" Background="#C8FFFFFF">
9            <StackPanel>
10                <Border BorderBrush="Silver" BorderThickness="0,0,0,2" Visibility="{Binding IsSearchingForReservedNodes, FallbackValue=Collapsed, Converter={StaticResource TrueToVisibleOrCollapsedConverter}}">
11                                        <Grid Height="36" Background="#C8D1E3FF">
12                                                <Label Content="Endgame mode: Using reserved nodes, calculation nearly finished..." Height="28" HorizontalAlignment="Center" VerticalAlignment="Center" />
13                                        </Grid>
14                                </Border>
15                                <Border BorderBrush="Silver" BorderThickness="0,0,0,2">
16                                        <Grid Height="36">
17                                                <Grid.ColumnDefinitions>
18                                                        <ColumnDefinition Width="190" />
19                                                        <ColumnDefinition Width="210" />
20                                                </Grid.ColumnDefinitions>
21                                                <Label Content="Total chunks:" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Column="0" />
22                                                <Label Content="-" Name="TotalAmountOfChunks" Height="28" HorizontalAlignment="Left" Margin="110,6,0,0" VerticalAlignment="Top" Grid.Column="0" />
23                                                <Label Content="Keys per chunk:" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Column="1" />
24                                                <Label Content="-" Name="KeysPerChunk" Height="28" HorizontalAlignment="Left" Margin="120,6,0,0" VerticalAlignment="Top" Grid.Column="1" />
25                                        </Grid>
26                                </Border>
27                                <Border BorderBrush="Silver" BorderThickness="0,0,0,2">
28                                        <Grid Height="36">
29                                                <Grid.ColumnDefinitions>
30                                                        <ColumnDefinition Width="190" />
31                                                        <ColumnDefinition Width="210" />
32                                                </Grid.ColumnDefinitions>
33                                                <Label Content="Participants:" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Column="0" />
34                                                <Label Content="{Binding TotalAmountOfParticipants, FallbackValue=-}" Height="28" HorizontalAlignment="Left" Margin="110,6,0,0" VerticalAlignment="Top" Grid.Column="0" />
35                                                <Label Content="Estimated finish date:" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Column="1" />
36                                                <Label Content="{Binding EstimatedFinishDate, FallbackValue=-}" Height="28" HorizontalAlignment="Left" Margin="120,6,0,0" VerticalAlignment="Top" Grid.Column="1" />
37                                        </Grid>
38                                </Border>
39                                <Border BorderBrush="Silver" BorderThickness="0,0,0,2">
40                                        <Grid Height="102">
41                                                <Grid.ColumnDefinitions>
42                                                        <ColumnDefinition Width="190" />
43                                                        <ColumnDefinition Width="210" />
44                                                </Grid.ColumnDefinitions>
45                                                <Grid.RowDefinitions>
46                                                        <RowDefinition Height="34" />
47                                                        <RowDefinition Height="34" />
48                                                        <RowDefinition Height="34" />
49                                                </Grid.RowDefinitions>
50                                                <Label Content="Local chunks:" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Column="0" Grid.Row="0" />
51                                                <Label Content="{Binding LocalFinishedChunks, FallbackValue=-}" Height="28" HorizontalAlignment="Left" Margin="110,6,0,0" VerticalAlignment="Top" Grid.Column="0" Grid.Row="0" />
52                                                <Label Content="Current chunk:" Height="28" HorizontalAlignment="Left" Margin="0,3,0,0" VerticalAlignment="Top" Grid.Column="1" />
53                                                <Label Content="{Binding CurrentChunk, FallbackValue=-}" Height="28" HorizontalAlignment="Left" Margin="120,6,0,0" VerticalAlignment="Top" Grid.Column="1" Grid.Row="0" />
54                                                <Label Content="Keys per second:" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Column="0" Grid.Row="1" />
55                                                <Label Content="{Binding KeysPerSecond, FallbackValue=-}" Height="28" HorizontalAlignment="Left" Margin="110,6,0,0" VerticalAlignment="Top" Grid.Column="0" Grid.Row="1" />
56                                                <Label Content="Remaining time:" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Column="1" Grid.Row="1" />
57                                                <Label Content="{Binding RemainingTime, FallbackValue=-}" Height="28" HorizontalAlignment="Left" Margin="120,6,0,0" VerticalAlignment="Top" Grid.Column="1" Grid.Row="1" />
58                                                <ProgressBar Value="{Binding ProgressOfCurrentChunk, FallbackValue=0}" IsIndeterminate="{Binding IsCurrentProgressIndeterminate, FallbackValue=false}" Grid.ColumnSpan="2" Grid.Row="2" Height="24" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Width="400" Maximum="1" />
59                                        </Grid>
60                                </Border>
61                                <Border BorderBrush="Silver" BorderThickness="0,0,0,2" Visibility="{Binding IsVerboseEnabled, ElementName=P2PQuickWatch, Converter={StaticResource TrueToVisibleOrCollapsedConverter}}">
62                                        <Grid Height="204">
63                                                <Grid.ColumnDefinitions>
64                                                        <ColumnDefinition Width="190" />
65                                                        <ColumnDefinition Width="210" />
66                                                </Grid.ColumnDefinitions>
67                                                <Grid.RowDefinitions>
68                                                        <RowDefinition Height="34" />
69                                                        <RowDefinition Height="34" />
70                                                        <RowDefinition Height="34" />
71                                                        <RowDefinition Height="34" />
72                            <RowDefinition Height="34" />
73                            <RowDefinition Height="34" />
74                                                </Grid.RowDefinitions>
75                                                <Label Content="Total DHT requests:" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Column="0" Grid.Row="0" />
76                                                <Label Content="{Binding TotalDhtRequests, FallbackValue=-}" Height="28" HorizontalAlignment="Left" Margin="110,6,0,0" VerticalAlignment="Top" Grid.Column="0" Grid.Row="0" />
77                                                <Label Content="Requests per chunk:" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Column="1" Grid.Row="0" />
78                                                <Label Content="{Binding RequestsPerNode, FallbackValue=-}" Height="28" HorizontalAlignment="Left" Margin="120,6,0,0" VerticalAlignment="Top" Grid.Column="1" Grid.Row="0" />
79                                                <Label Content="Retrieve requests:" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Column="0" Grid.Row="1" />
80                                                <Label Content="{Binding RetrieveRequests, FallbackValue=-}" Height="28" HorizontalAlignment="Left" Margin="110,6,0,0" VerticalAlignment="Top" Grid.Column="0" Grid.Row="1" />
81                                                <Label Content="Remove requests:" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Column="1" Grid.Row="1" />
82                                                <Label Content="{Binding RemoveRequests, FallbackValue=-}" Height="28" HorizontalAlignment="Left" Margin="120,6,0,0" VerticalAlignment="Top" Grid.Column="1" Grid.Row="1" />
83                                                <Label Content="Store requests:" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Row="2" />
84                                                <Label Content="{Binding StoreRequests, FallbackValue=-}" Height="28" HorizontalAlignment="Left" Margin="110,6,0,0" VerticalAlignment="Top" Grid.Row="2" />
85                                                <Label Content="Overhead (abs):" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Column="0" Grid.Row="3" />
86                        <Label Content="{Binding DhtOverheadInReadableTime, FallbackValue=-, Converter={StaticResource TimeSpanToRoundedStringConverter}}" Height="28" HorizontalAlignment="Left" Margin="110,6,0,0" VerticalAlignment="Top" Grid.Column="0" Grid.Row="3" />
87                                                <Label Content="Overhead (%):" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Column="1" Grid.Row="3" />
88                                                <Label Content="{Binding DhtOverheadInPercent, FallbackValue=-}" Height="28" HorizontalAlignment="Left" Margin="120,6,0,0" VerticalAlignment="Top" Grid.Column="1" Grid.Row="3" />
89                        <Label Content="Sent (payload):" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Column="0" Grid.Row="4" />
90                        <Label Content="{Binding StoredBytes, FallbackValue=-, Converter={StaticResource LongToSizeMetricString}}" Height="28" HorizontalAlignment="Left" Margin="110,6,0,0" VerticalAlignment="Top" Grid.Column="0" Grid.Row="4" />
91                        <Label Content="Received (payload):" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Column="1" Grid.Row="4" />
92                        <Label Content="{Binding RetrievedBytes, FallbackValue=-, Converter={StaticResource LongToSizeMetricString}}" Height="28" HorizontalAlignment="Left" Margin="120,6,0,0" VerticalAlignment="Top" Grid.Column="1" Grid.Row="4" />
93                        <Label Content="Sent (link):" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Column="0" Grid.Row="5" />
94                        <Label Content="{Binding SentBytesByLinkManager, FallbackValue=-, Converter={StaticResource LongToSizeMetricString}}" Height="28" HorizontalAlignment="Left" Margin="110,6,0,0" VerticalAlignment="Top" Grid.Column="0" Grid.Row="5" />
95                        <Label Content="Received (link):" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" VerticalAlignment="Top" Grid.Column="1" Grid.Row="5" />
96                        <Label Content="{Binding ReceivedBytesByLinkManager, FallbackValue=-, Converter={StaticResource LongToSizeMetricString}}" Height="28" HorizontalAlignment="Left" Margin="120,6,0,0" VerticalAlignment="Top" Grid.Column="1" Grid.Row="5" />
97                    </Grid>
98                                </Border>
99                <ListView Name="ToplistView" Background="#C8FFFFFF" ItemsSource="{Binding TopList}" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" Margin="0,6,0,0" Height="120">
100                                        <ListView.View>
101                                                <GridView>
102                                                        <GridViewColumn Header="#" DisplayMemberBinding="{Binding Path=Ranking}" Width="25">
103                                                                <GridViewColumn.CellTemplate>
104                                                                        <DataTemplate>
105                                                                                <Label />
106                                                                        </DataTemplate>
107                                                                </GridViewColumn.CellTemplate>
108                                                        </GridViewColumn>
109                                                        <GridViewColumn Header="Value" DisplayMemberBinding="{Binding Path=Value}">
110                                                                <GridViewColumn.CellTemplate>
111                                                                        <DataTemplate>
112                                                                                <Label />
113                                                                        </DataTemplate>
114                                                                </GridViewColumn.CellTemplate>
115                                                        </GridViewColumn>
116                                                        <GridViewColumn Header="Text" DisplayMemberBinding="{Binding Path=Text}">
117                                                                <GridViewColumn.CellTemplate>
118                                                                        <DataTemplate>
119                                                                                <Label />
120                                                                        </DataTemplate>
121                                                                </GridViewColumn.CellTemplate>
122                                                        </GridViewColumn>
123                                                        <GridViewColumn Header="Key" DisplayMemberBinding="{Binding Path=Key}">
124                                                                <GridViewColumn.CellTemplate>
125                                                                        <DataTemplate>
126                                                                                <Label />
127                                                                        </DataTemplate>
128                                                                </GridViewColumn.CellTemplate>
129                                                        </GridViewColumn>
130                                                </GridView>
131                                        </ListView.View>
132                                </ListView>
133                        </StackPanel>
134                </Grid>
135        </Viewbox>
136</UserControl>
Note: See TracBrowser for help on using the repository browser.