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

Last change on this file since 2295 was 2295, checked in by Sven Rech, 11 years ago

Prepared KeySearcher for Localization

File size: 18.6 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" xmlns:Controls="clr-namespace:KeySearcherPresentation.Controls" mc:Ignorable="d" x:Name="P2PQuickWatch" d:DesignHeight="440" d:DesignWidth="600">
2        <UserControl.Resources>
3                <Converter:TrueToVisibleOrCollapsedConverter x:Key="TrueToVisibleOrCollapsedConverter" />
4        <Converter:LongToSizeMetricString x:Key="LongToSizeMetricString" />
5        <Converter:DateTimeConverter x:Key="DateTimeConverter" />
6        <Converter:TimeSpanToStringConverter x:Key="TimeSpanToStringConverter" />
7        <RotateTransform x:Key="HeaderRotate" Angle="270" />
8        <Style x:Key="ValueRow1">
9            <Setter Property="Label.Margin" Value="90,0,0,0" />
10        </Style>
11        <Style x:Key="ValueRow2">
12            <Setter Property="Label.Margin" Value="110,0,0,0" />
13        </Style>
14        <Style x:Key="ValueRow3">
15            <Setter Property="Label.Margin" Value="90,0,0,0" />
16        </Style>
17        <Storyboard x:Key="EndgameStoryboard" RepeatBehavior="Forever">
18                <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)" Storyboard.TargetName="EndgameGrid">
19                        <EasingColorKeyFrame KeyTime="0:0:1" Value="#C81E57B1"/>
20                        <EasingColorKeyFrame KeyTime="0:0:2" Value="#C8D1E3FF"/>
21                </ColorAnimationUsingKeyFrames>
22                <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="label">
23                        <EasingColorKeyFrame KeyTime="0:0:1" Value="White"/>
24                        <EasingColorKeyFrame KeyTime="0:0:2" Value="Black"/>
25                </ColorAnimationUsingKeyFrames>
26        </Storyboard>
27    </UserControl.Resources>
28        <UserControl.Triggers>
29        <EventTrigger RoutedEvent="FrameworkElement.Loaded" SourceName="EndgameGrid">
30                        <BeginStoryboard x:Name="EndgameStoryboard_BeginStoryboard" Storyboard="{StaticResource EndgameStoryboard}"/>
31                </EventTrigger>
32        </UserControl.Triggers>
33        <Viewbox>
34                <Grid Width="646" >
35            <StackPanel>
36                <Border BorderBrush="Silver" BorderThickness="2,2,2,0" Visibility="{Binding IsSearchingForReservedNodes, FallbackValue=Collapsed, Converter={StaticResource TrueToVisibleOrCollapsedConverter}}">
37                                        <Grid x:Name="EndgameGrid" Height="36" Background="#C8D1E3FF" RenderTransformOrigin="0.5,0.5">
38                                                <Grid.RenderTransform>
39                                                        <TransformGroup>
40                                                                <ScaleTransform/>
41                                                                <SkewTransform/>
42                                                                <RotateTransform/>
43                                                                <TranslateTransform/>
44                                                        </TransformGroup>
45                                                </Grid.RenderTransform>
46                                                <Label x:Name="label" Content="{Loc Endgame_Mode_}" Height="28" HorizontalAlignment="Center" VerticalAlignment="Center" />
47                                        </Grid>
48                                </Border>
49                                <Border BorderBrush="Silver" BorderThickness="2,2,2,2">
50                                        <Grid Height="48" Background="#AFE2E2FF">
51                        <Grid.RowDefinitions>
52                            <RowDefinition Height="48" />
53                        </Grid.RowDefinitions>
54                                                <Grid.ColumnDefinitions>
55                            <ColumnDefinition Width="26" />
56                            <ColumnDefinition Width="180" />
57                                                        <ColumnDefinition Width="*" />
58                            <ColumnDefinition Width="*" />
59                                                </Grid.ColumnDefinitions>
60                        <Border BorderThickness="1" BorderBrush="Black" LayoutTransform="{StaticResource HeaderRotate}" Grid.Column="0" Background="#FF5C5CFF">
61                            <Label Content="{Loc Static_}" FontSize="11" HorizontalAlignment="Center" Foreground="White" />
62                        </Border>
63                        <Label Content="{Loc Total_Chunks_}" VerticalAlignment="Center" Grid.Column="1" />
64                        <Label Content="-" Name="TotalAmountOfChunks" Style="{StaticResource ValueRow1}" VerticalAlignment="Center" Grid.Column="1" />
65                        <Label Content="{Loc Keys_Per_Chunk_}" VerticalAlignment="Center" Grid.Column="2" />
66                        <Label Content="-" Name="KeysPerChunk" Style="{StaticResource ValueRow2}" VerticalAlignment="Center" Grid.Column="2" />
67                        <Label Content="{Loc Tested_Bits_}" VerticalAlignment="Center" Grid.Column="3" />
68                        <Label Content="-" Name="TestedBits" Style="{StaticResource ValueRow3}" VerticalAlignment="Center" Grid.Column="3" />
69                                        </Grid>
70                                </Border>
71                                <Border BorderBrush="Silver" BorderThickness="2,0,2,2">
72                    <Grid Height="52" Background="#AFAAE1E8">
73                                                <Grid.ColumnDefinitions>
74                            <ColumnDefinition Width="26" />
75                                                        <ColumnDefinition Width="180" />
76                                                        <ColumnDefinition Width="*" />
77                            <ColumnDefinition Width="*" />
78                                                </Grid.ColumnDefinitions>
79                        <Grid.RowDefinitions>
80                            <RowDefinition Height="26" />
81                            <RowDefinition Height="26" />
82                        </Grid.RowDefinitions>
83                        <Border BorderThickness="1" BorderBrush="Black" LayoutTransform="{StaticResource HeaderRotate}" Background="#FF099BA7" Grid.Column="0" Grid.RowSpan="2">
84                            <Label Content="Global" FontSize="11" HorizontalAlignment="Center" Foreground="White" />
85                        </Border>
86                        <Label Content="{Loc Participants_}" Grid.Column="1" />
87                        <Label Content="{Binding TotalAmountOfParticipants, FallbackValue=-}" Style="{StaticResource ValueRow1}" Grid.Column="1" />
88                        <Label Content="{Loc Start_}" Grid.Column="2" />
89                        <Label Content="{Binding StartDate, FallbackValue=-, Converter={StaticResource DateTimeConverter}}" Style="{StaticResource ValueRow2}" Grid.Column="2" />
90                        <Label Content="{Loc End_}" HorizontalAlignment="Left" Grid.Column="3" />
91                        <Label Content="{Binding EstimatedFinishDate, FallbackValue=-}" Style="{StaticResource ValueRow3}" Grid.Column="3" />
92                        <Label Content="{Loc Elapsed_}" Grid.Column="2" Grid.Row="2" />
93                        <Label Content="{Binding ElapsedTime, FallbackValue=-, Converter={StaticResource TimeSpanToStringConverter}}" Style="{StaticResource ValueRow2}" Grid.Column="2" Grid.Row="2" />
94                        <Label Content="{Loc Remaining_}" Grid.Column="3" Grid.Row="2" />
95                        <Label Content="{Binding RemainingTimeTotal, FallbackValue=-, Converter={StaticResource TimeSpanToStringConverter}}" Style="{StaticResource ValueRow3}" Grid.Column="3" Grid.Row="2" />
96                    </Grid>
97                                </Border>
98                                <Border BorderBrush="Silver" BorderThickness="2,0,2,2">
99                    <Grid Height="78" Background="#AFFFD4C1">
100                                                <Grid.ColumnDefinitions>
101                            <ColumnDefinition Width="26" />
102                            <ColumnDefinition Width="180" />
103                            <ColumnDefinition Width="*" />
104                            <ColumnDefinition Width="*" />
105                                                </Grid.ColumnDefinitions>
106                                                <Grid.RowDefinitions>
107                                                        <RowDefinition Height="26" />
108                                                        <RowDefinition Height="26" />
109                            <RowDefinition Height="26" />
110                                                </Grid.RowDefinitions>
111                        <Border BorderThickness="1" BorderBrush="Black" LayoutTransform="{StaticResource HeaderRotate}" Background="#FFE56B00" Grid.Column="0" Grid.RowSpan="3">
112                            <Label Content="{Loc Local_}" FontSize="11" HorizontalAlignment="Center" Foreground="White" />
113                        </Border>
114                        <Label Content="{Loc Finished_Chunks_}" Grid.Column="1" Grid.Row="0" />
115                        <Label Content="{Binding LocalFinishedChunks, FallbackValue=-}" Style="{StaticResource ValueRow1}" Grid.Column="1" Grid.Row="0" />
116                        <Label Content="{Loc Keys_Sec_}" Grid.Column="2" Grid.Row="0" />
117                        <Label Name="keysPerSecond" Style="{StaticResource ValueRow2}" Grid.Column="2" Grid.Row="0" />
118                        <TextBlock Text="{Binding KeysPerSecond, StringFormat=' {0:0,0}', FallbackValue=-}" Style="{StaticResource ValueRow2}" Grid.Column="2" Grid.Row="0" />
119                        <Label Content="{Loc Current_Chunk_}" Grid.Column="3" />
120                        <Label Content="{Binding CurrentChunk, FallbackValue=-}" Style="{StaticResource ValueRow3}" Grid.Column="3" Grid.Row="0" />
121                        <Grid  Grid.Column="1" Grid.ColumnSpan="3" Grid.Row="1">
122                            <ProgressBar Value="{Binding ProgressOfCurrentChunk, FallbackValue=0}" IsIndeterminate="{Binding IsCurrentProgressIndeterminate, FallbackValue=false}" Maximum="1" />
123                            <Viewbox>
124                                <Label Content="{Binding RemainingTime, Converter={StaticResource TimeSpanToStringConverter}}" HorizontalAlignment="Center" Grid.Column="2" Grid.Row="1" />
125                            </Viewbox>
126                        </Grid>
127                        <Label Content="{Binding CurrentOperation}" HorizontalAlignment="Center" Grid.Column="1" Grid.ColumnSpan="3" Grid.Row="3" FontWeight="Normal" />
128                    </Grid>
129                                </Border>
130                <Controls:OpenCLPresentation x:Name="OpenCLPresentation" Visibility="{Binding IsOpenCLEnabled, ElementName=P2PQuickWatch, Converter={StaticResource TrueToVisibleOrCollapsedConverter}}" />
131                <Border BorderBrush="Silver" BorderThickness="2,0,2,2" Visibility="{Binding IsVerboseEnabled, ElementName=P2PQuickWatch, Converter={StaticResource TrueToVisibleOrCollapsedConverter}}">
132                    <Grid Height="78" Background="#AFF9C7FF">
133                        <Grid.ColumnDefinitions>
134                            <ColumnDefinition Width="26" />
135                            <ColumnDefinition Width="180" />
136                            <ColumnDefinition Width="*" />
137                            <ColumnDefinition Width="*" />
138                        </Grid.ColumnDefinitions>
139                        <Grid.RowDefinitions>
140                            <RowDefinition Height="26" />
141                            <RowDefinition Height="26" />
142                            <RowDefinition Height="26" />
143                        </Grid.RowDefinitions>
144                        <Border BorderThickness="1" BorderBrush="Black" LayoutTransform="{StaticResource HeaderRotate}" Background="#FF8309A7" Grid.Column="0" Grid.RowSpan="3">
145                            <Label Content="{Loc Requests_}" FontSize="11" HorizontalAlignment="Center" Foreground="White" />
146                        </Border>
147                        <Label Content="{Loc Store_}" Grid.Column="1" Grid.Row="0" />
148                        <Label Content="{Binding StoreRequests, FallbackValue=-}" Style="{StaticResource ValueRow1}" Grid.Column="1" Grid.Row="0" />
149                        <Label Content="{Loc Retrieve_}" Grid.Column="2" Grid.Row="0" />
150                        <Label Content="{Binding RetrieveRequests, FallbackValue=-}" Style="{StaticResource ValueRow2}" Grid.Column="2" Grid.Row="0" />
151                        <Label Content="{Loc Remove_}" Grid.Column="3" Grid.Row="0" />
152                        <Label Content="{Binding RemoveRequests, FallbackValue=-}" Style="{StaticResource ValueRow3}" Grid.Column="3" Grid.Row="0" />
153                        <Label Content="{Loc Total_}" Grid.Column="2" Grid.Row="1" />
154                        <Label Content="{Binding TotalDhtRequests, FallbackValue=-}" Style="{StaticResource ValueRow2}" Grid.Column="2" Grid.Row="1" />
155                        <Label Content="{Loc Per_Chunk_}" Grid.Column="3" Grid.Row="1" />
156                        <Label Content="{Binding RequestsPerNode, FallbackValue=-}" Style="{StaticResource ValueRow3}" Grid.Column="3" Grid.Row="1" />
157                        <Label Content="{Loc Overhead_Abs_}" Grid.Column="2" Grid.Row="2" />
158                        <Label Content="{Binding DhtOverheadInReadableTime, FallbackValue=-, Converter={StaticResource TimeSpanToStringConverter}}" Style="{StaticResource ValueRow2}" Grid.Column="2" Grid.Row="2" />
159                        <Label Content="{Loc Overhead_Perc_}" Grid.Column="3" Grid.Row="2" />
160                        <Label Content="{Binding DhtOverheadInPercent, FallbackValue=-}" Style="{StaticResource ValueRow3}" Grid.Column="3" Grid.Row="2" />
161                    </Grid>
162                </Border>
163                <Border BorderBrush="Silver" BorderThickness="2,0,2,2" Visibility="{Binding IsVerboseEnabled, ElementName=P2PQuickWatch, Converter={StaticResource TrueToVisibleOrCollapsedConverter}}">
164                                        <Grid Height="52" Background="#AFE2E2E2">
165                                                <Grid.ColumnDefinitions>
166                            <ColumnDefinition Width="26" />
167                            <ColumnDefinition Width="180" />
168                            <ColumnDefinition Width="*" />
169                            <ColumnDefinition Width="*" />
170                                                </Grid.ColumnDefinitions>
171                                                <Grid.RowDefinitions>
172                                                        <RowDefinition Height="26" />
173                            <RowDefinition Height="26" />
174                                                </Grid.RowDefinitions>
175                        <Border BorderThickness="1" BorderBrush="Black" LayoutTransform="{StaticResource HeaderRotate}" Background="#FF525252" Grid.Column="0" Grid.RowSpan="3">
176                            <Label Content="{Loc Traffic_}" FontSize="11" HorizontalAlignment="Center" Foreground="White" />
177                        </Border>
178                        <Label Content="{Loc Sent_Payload_}" Grid.Column="1" Grid.Row="0" />
179                        <Label Content="{Binding StoredBytes, FallbackValue=-, Converter={StaticResource LongToSizeMetricString}}" Style="{StaticResource ValueRow1}" Grid.Column="1" Grid.Row="0" />
180                        <Label Content="{Loc Received_Payload_}" Grid.Column="2" Grid.Row="0" />
181                        <Label Content="{Binding RetrievedBytes, FallbackValue=-, Converter={StaticResource LongToSizeMetricString}}" Style="{StaticResource ValueRow2}" Grid.Column="2" Grid.Row="0" />
182                        <Label Content="{Loc Total_Payload_}" Grid.Column="3" Grid.Row="0" />
183                        <Label Content="{Binding TotalBytes, FallbackValue=-, Converter={StaticResource LongToSizeMetricString}}" Style="{StaticResource ValueRow3}" Grid.Column="3" Grid.Row="0" />
184                        <Label Content="{Loc Sent_Link_}" Grid.Column="1" Grid.Row="1" />
185                        <Label Content="{Binding SentBytesByLinkManager, FallbackValue=-, Converter={StaticResource LongToSizeMetricString}}" Style="{StaticResource ValueRow1}"  Grid.Column="1" Grid.Row="1" />
186                        <Label Content="{Loc Received_Link_}" Grid.Column="2" Grid.Row="2" />
187                        <Label Content="{Binding ReceivedBytesByLinkManager, FallbackValue=-, Converter={StaticResource LongToSizeMetricString}}" Style="{StaticResource ValueRow2}" Grid.Column="2" Grid.Row="1" />
188                        <Label Content="{Loc Total_Link_}" Grid.Column="3" Grid.Row="2" />
189                        <Label Content="{Binding TotalBytesByLinkManager, FallbackValue=-, Converter={StaticResource LongToSizeMetricString}}" Style="{StaticResource ValueRow3}" Grid.Column="3" Grid.Row="1" />
190                    </Grid>
191                                </Border>
192                <Border BorderBrush="Silver" BorderThickness="2,0,2,2">
193                    <Grid>
194                        <Grid.ColumnDefinitions>
195                            <ColumnDefinition Width="26" />
196                            <ColumnDefinition Width="*" />
197                        </Grid.ColumnDefinitions>
198                        <Border BorderThickness="1" BorderBrush="Black" LayoutTransform="{StaticResource HeaderRotate}" Background="#FF479308" Grid.Column="0">
199                            <Label Content="{Loc Top_Ten_}" FontSize="11" HorizontalAlignment="Center" Foreground="White" Width="50" />
200                        </Border>
201                        <ListView Name="ToplistView" Background="#AFE2FFCE" ItemsSource="{Binding TopList}" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto"  Height="120" Grid.Column="1">
202                            <ListView.View>
203                                <GridView>
204                                    <GridViewColumn Header="#" DisplayMemberBinding="{Binding Path=Ranking}" Width="25">
205                                        <GridViewColumn.CellTemplate>
206                                            <DataTemplate>
207                                                <Label />
208                                            </DataTemplate>
209                                        </GridViewColumn.CellTemplate>
210                                    </GridViewColumn>
211                                    <GridViewColumn Header="Value" DisplayMemberBinding="{Binding Path=Value}">
212                                        <GridViewColumn.CellTemplate>
213                                            <DataTemplate>
214                                                <Label />
215                                            </DataTemplate>
216                                        </GridViewColumn.CellTemplate>
217                                    </GridViewColumn>
218                                    <GridViewColumn Header="Text" DisplayMemberBinding="{Binding Path=Text}">
219                                        <GridViewColumn.CellTemplate>
220                                            <DataTemplate>
221                                                <Label />
222                                            </DataTemplate>
223                                        </GridViewColumn.CellTemplate>
224                                    </GridViewColumn>
225                                    <GridViewColumn Header="Key" DisplayMemberBinding="{Binding Path=Key}">
226                                        <GridViewColumn.CellTemplate>
227                                            <DataTemplate>
228                                                <Label />
229                                            </DataTemplate>
230                                        </GridViewColumn.CellTemplate>
231                                    </GridViewColumn>
232                                </GridView>
233                            </ListView.View>
234                        </ListView>
235                    </Grid>                   
236                </Border>               
237            </StackPanel>
238                </Grid>
239        </Viewbox>
240</UserControl>
Note: See TracBrowser for help on using the repository browser.