Ignore:
Timestamp:
Jan 7, 2011, 2:25:21 PM (11 years ago)
Author:
Sven Rech
Message:

Prepared KeySearcher for Localization

File:
1 edited

Legend:

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

    r2293 r2295  
    2020namespace KeySearcherPresentation.Controls
    2121{
     22    /// <summary>
     23    /// Interaction logic for StatisticsPresentation.xaml
     24    /// </summary>
     25    [Cryptool.PluginBase.Attributes.Localization("KeySearcher.Properties.Resources")]
     26    public partial class StatisticsPresentation : UserControl
     27    {
     28        public StatisticsPresentation()
     29        {
     30            InitializeComponent();
     31            ((InformationToProgressConverter)Resources["InformationToProgressConverter"]).StatisticsPresentation = this;
     32            ((InformationToProgressConverter2)Resources["InformationToProgressConverter2"]).StatisticsPresentation = this;
     33            ((ChunkSumConverter)Resources["ChunkSumConverter"]).StatisticsPresentation = this;
     34            ((MachineSumToProgressConverter)Resources["MachineSumToProgressConverter"]).StatisticsPresentation = this;
     35        }
    2236
     37        private Dictionary<string, Dictionary<long, Information>> statistics = null;
     38        public Dictionary<string, Dictionary<long, Information>> Statistics
     39        {
     40            get { return statistics; }
     41            set
     42            {
     43                statistics = value;
     44                Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     45                                               {
     46                                                   var orderedstats = statistics.OrderByDescending((x) => x.Value.Sum((z) => z.Value.Count));
     47                                                   statisticsTree.DataContext = orderedstats;
     48                                                   statisticsTree.Items.Refresh();
     49                                                }, null);
     50
     51            }
     52        }
     53
     54        private Dictionary<long, Maschinfo> machineHierarchy = null;
     55        public Dictionary<long, Maschinfo> MachineHierarchy
     56        {
     57            get { return machineHierarchy; }
     58            set
     59            {
     60                machineHierarchy = value;
     61                Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     62                                                {
     63                                                    var orderedstats = machineHierarchy.OrderByDescending((x) => x.Value.Sum);
     64                                                    machineTree.DataContext = orderedstats;
     65                                                    machineTree.Items.Refresh();
     66                                                }, null);
     67            }
     68        }
     69    }
     70
     71    #region Converters
    2372    [ValueConversion(typeof(Dictionary<long, Information>), typeof(Double))]
    2473    class InformationToProgressConverter : IValueConverter
     
    80129            if (StatisticsPresentation != null)
    81130            {
    82                 string key = (string) value;
     131                string key = (string)value;
    83132                var data = (StatisticsPresentation.Statistics)[key];
    84133                return data.Sum(i => i.Value.Count);
     
    119168        }
    120169    }
     170    #endregion
    121171
    122     /// <summary>
    123     /// Interaction logic for StatisticsPresentation.xaml
    124     /// </summary>
    125     public partial class StatisticsPresentation : UserControl
    126     {
    127         public StatisticsPresentation()
    128         {
    129             InitializeComponent();
    130             ((InformationToProgressConverter)Resources["InformationToProgressConverter"]).StatisticsPresentation = this;
    131             ((InformationToProgressConverter2)Resources["InformationToProgressConverter2"]).StatisticsPresentation = this;
    132             ((ChunkSumConverter)Resources["ChunkSumConverter"]).StatisticsPresentation = this;
    133             ((MachineSumToProgressConverter)Resources["MachineSumToProgressConverter"]).StatisticsPresentation = this;
    134         }
    135 
    136         private Dictionary<string, Dictionary<long, Information>> statistics = null;
    137         public Dictionary<string, Dictionary<long, Information>> Statistics
    138         {
    139             get { return statistics; }
    140             set
    141             {
    142                 statistics = value;
    143                 Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
    144                                                {
    145                                                    var orderedstats = statistics.OrderByDescending((x) => x.Value.Sum((z) => z.Value.Count));
    146                                                    statisticsTree.DataContext = orderedstats;
    147                                                    statisticsTree.Items.Refresh();
    148                                                 }, null);
    149 
    150             }
    151         }
    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         }
    168     }
    169172}
Note: See TracChangeset for help on using the changeset viewer.