Ignore:
Timestamp:
Jan 30, 2011, 5:29:42 PM (11 years ago)
Author:
nolte
Message:

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/KeySearcher/Presentation/Controls/StatisticsPresentation.xaml.cs

    r2506 r2527  
    8080        }
    8181
     82        #region Information
     83
     84        private string days = "??? Days";
     85        public string Days
     86        {
     87            get { return days; }
     88            set
     89            {
     90                lock (this)
     91                {
     92                    days = value;
     93                }
     94
     95                Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     96                {
     97                    WorkingDays.Content = days;
     98                }, null);
     99            }
     100        }
     101
     102        private BigInteger totalBlocks = 0;
     103        public BigInteger TotalBlocks
     104        {
     105            get { return totalBlocks; }
     106            set
     107            {
     108                lock (this)
     109                {
     110                    totalBlocks = value;
     111                }
     112
     113                Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     114                {
     115                    TotalAmountOfBlocks.Content = totalBlocks;
     116                }, null);
     117            }
     118        }
     119
     120        private BigInteger calculatedBlocks = 0;
     121        public BigInteger CalculatedBlocks
     122        {
     123            get { return calculatedBlocks; }
     124            set
     125            {
     126                lock (this)
     127                {
     128                    calculatedBlocks = value;
     129                }
     130
     131                Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     132                {
     133                    TotalBlocksTested.Content = calculatedBlocks;
     134                }, null);
     135            }
     136        }
     137
     138        private BigInteger totalKeys = 0;
     139        public BigInteger TotalKeys
     140        {
     141            get { return totalKeys; }
     142            set
     143            {
     144                lock (this)
     145                {
     146                    totalKeys = value;
     147                }
     148
     149                Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     150                {
     151                    TotalAmountOfKeys.Content = totalKeys;
     152                }, null);
     153            }
     154        }
     155
     156        private BigInteger calculatedKeys = 0;
     157        public BigInteger CalculatedKeys
     158        {
     159            get { return calculatedKeys; }
     160            set
     161            {
     162                lock (this)
     163                {
     164                    calculatedKeys = value;
     165                }
     166
     167                Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     168                {
     169                    TotalKeysTested.Content = calculatedKeys;
     170                }, null);
     171            }
     172        }
     173
     174        private double percent;
     175        public double Percent
     176        {
     177            get { return percent; }
     178            set
     179            {
     180                lock (this)
     181                {
     182                    if (totalBlocks != 0)
     183                    {
     184                        percent = Math.Round((value/(double) totalBlocks)*10000)/100;
     185                    }
     186                    else
     187                    {
     188                        percent = 0;
     189                    }
     190                }
     191
     192                Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     193                {
     194                    PercentsComplete.Content = percent + " %";
     195                }, null);
     196            }
     197        }
     198
     199        private BigInteger users = 0;
     200        public BigInteger Users
     201        {
     202            get { return users; }
     203            set
     204            {
     205                lock (this)
     206                {
     207                    users = value;
     208                }
     209
     210                Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     211                {
     212                    UserCount.Content = users + " users are working on this job";
     213                }, null);
     214            }
     215        }
     216
     217        private BigInteger machines = 0;
     218        public BigInteger Machines
     219        {
     220            get { return machines; }
     221            set
     222            {
     223                lock (this)
     224                {
     225                    machines = value;
     226                }
     227
     228                Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     229                {
     230                    MachineCount.Content = machines + " machines are working on this job";
     231                }, null);
     232            }
     233        }
     234
     235        #endregion
     236
    82237        private void Button_Click(object sender, RoutedEventArgs e)
    83238        {
     
    104259            }
    105260        }
    106 
    107         #region Informations
    108 
    109         public void UpdateInformation(KeySearcher.KeySearcher keySearcher, KeySearcherSettings keySearcherSettings)
    110         {
    111             if (keySearcher.Pattern == null || !keySearcher.Pattern.testWildcardKey(keySearcherSettings.Key) || keySearcherSettings.ChunkSize == 0)
    112             {
    113                 return;
    114             }
    115 
    116             var keyPattern = new KeyPattern(keySearcher.ControlMaster.getKeyPattern()) { WildcardKey = keySearcherSettings.Key };
    117             var keysPerChunk = Math.Pow(2, keySearcherSettings.ChunkSize);
    118             var keyPatternPool = new KeyPatternPool(keyPattern, new BigInteger(keysPerChunk));
    119 
    120             if (keyPatternPool.Length > 9999999999)
    121             {
    122                 TotalAmountOfBlocks.Content = keyPatternPool.Length.ToString().Substring(0, 10) + "...";
    123             }
    124             else
    125             {
    126                 TotalAmountOfBlocks.Content = keyPatternPool.Length;
    127             }
    128 
    129             TotalAmountOfKeys.Content = new BigInteger(keysPerChunk) * keyPatternPool.Length;
    130 
    131 
    132             //Under Construction
    133             //--------
    134             TotalBlocksTested.Content = "???";
    135             TotalKeysTested.Content = "???";
    136             //--------
    137         }
    138         #endregion
    139261    }
    140262
Note: See TracChangeset for help on using the changeset viewer.