Ignore:
Timestamp:
Jan 6, 2011, 9:38:29 PM (11 years ago)
Author:
Sven Rech
Message:

machine statistics

File:
1 edited

Legend:

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

    r2285 r2293  
    3232                double allCount = (StatisticsPresentation.Statistics).Sum(i => i.Value.Sum(j => j.Value.Count));
    3333                double vCount = ((Dictionary<long, Information>)value).Sum(i => i.Value.Count);
     34                return vCount / allCount;
     35            }
     36            else
     37            {
     38                return 0;
     39            }
     40        }
     41
     42        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
     43        {
     44            throw new NotImplementedException();
     45        }
     46    }
     47
     48    [ValueConversion(typeof(Dictionary<long, Information>), typeof(Double))]
     49    class MachineSumToProgressConverter : IValueConverter
     50    {
     51        public StatisticsPresentation StatisticsPresentation { get; set; }
     52
     53        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
     54        {
     55            if (StatisticsPresentation != null)
     56            {
     57                double allCount = (StatisticsPresentation.MachineHierarchy).Sum(i => i.Value.Sum);
     58                double vCount = (int)value;
    3459                return vCount / allCount;
    3560            }
     
    106131            ((InformationToProgressConverter2)Resources["InformationToProgressConverter2"]).StatisticsPresentation = this;
    107132            ((ChunkSumConverter)Resources["ChunkSumConverter"]).StatisticsPresentation = this;
    108 
    109 
    110 
    111 
    112             //statisticsTree.Items.SortDescriptions.Add(new SortDescription("ItemTemplate.VisualTree.Children[0].Value", ListSortDirection.Ascending));
     133            ((MachineSumToProgressConverter)Resources["MachineSumToProgressConverter"]).StatisticsPresentation = this;
    113134        }
    114135
     
    129150            }
    130151        }
     152
     153        private Dictionary<long, Maschinfo> machineHierarchy = null;
     154        public Dictionary<long, Maschinfo> MachineHierarchy
     155        {
     156            get { return machineHierarchy; }
     157            set
     158            {
     159                machineHierarchy = value;
     160                Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     161                                                {
     162                                                    var orderedstats = machineHierarchy.OrderByDescending((x) => x.Value.Sum);
     163                                                    machineTree.DataContext = orderedstats;
     164                                                    machineTree.Items.Refresh();
     165                                                }, null);
     166            }
     167        }
    131168    }
    132169}
Note: See TracChangeset for help on using the changeset viewer.