Ignore:
Timestamp:
Jan 19, 2011, 6:06:27 PM (11 years ago)
Author:
matkovic
Message:

-added collapse all / expand all button
-added aging in indicated by the ProgressBar color

File:
1 edited

Legend:

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

    r2330 r2393  
    6868            }
    6969        }
     70
     71        private void Button_Click(object sender, RoutedEventArgs e)
     72        {
     73            Button b = sender as Button;
     74
     75            if(statisticsTree.ItemContainerStyle == null)
     76            {
     77                b.Content = "Expand";
     78                statisticsTree.ItemContainerStyle = this.Resources["ItemStyle2"] as Style;
     79            }
     80
     81            if (statisticsTree.ItemContainerStyle.Equals(this.Resources["ItemStyle"] as Style))
     82            {
     83                b.Content = "Expand";
     84                statisticsTree.ItemContainerStyle = this.Resources["ItemStyle2"] as Style;
     85                return;
     86            }
     87
     88            if (statisticsTree.ItemContainerStyle.Equals(this.Resources["ItemStyle2"] as Style))
     89            {
     90                b.Content = "Collapse";
     91                statisticsTree.ItemContainerStyle = this.Resources["ItemStyle"] as Style;
     92                return;
     93            }
     94        }
    7095    }
    7196
     
    201226        }
    202227    }
     228
     229    public class ColorToDateConverter : IMultiValueConverter
     230    {
     231        public static SolidColorBrush[] AlternationColors = {Brushes.LimeGreen, Brushes.Red, Brushes.Blue};
     232
     233        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
     234        {
     235            DateTime date = (DateTime) values[0];
     236            SolidColorBrush brush = ColorToDateConverter.AlternationColors[(int) values[1]].Clone();
     237            TimeSpan diff = DateTime.UtcNow.Subtract(date);
     238
     239            Color color;
     240            if (diff >= TimeSpan.FromDays(4))
     241            {
     242                color = Color.FromArgb(
     243                    (byte)50,
     244                    brush.Color.R,
     245                    brush.Color.G,
     246                    brush.Color.B);
     247
     248                brush.Color = color;
     249                return brush;
     250            }
     251
     252            if (diff >= TimeSpan.FromDays(3))
     253            {
     254                 color = Color.FromArgb(
     255                    (byte)100,
     256                    brush.Color.R,
     257                    brush.Color.G,
     258                    brush.Color.B);
     259
     260                brush.Color = color;
     261                return brush;
     262            }
     263
     264            if (diff >= TimeSpan.FromDays(2))
     265            {
     266                 color = Color.FromArgb(
     267                    (byte)150,
     268                    brush.Color.R,
     269                    brush.Color.G,
     270                    brush.Color.B);
     271
     272                brush.Color = color;
     273                return brush;
     274            }
     275
     276            if (diff >= TimeSpan.FromDays(1))
     277            {
     278                color = Color.FromArgb(
     279                    (byte)200,
     280                    brush.Color.R,
     281                    brush.Color.G,
     282                    brush.Color.B);
     283
     284                brush.Color = color;
     285                return brush;
     286            }
     287
     288            if (diff >= TimeSpan.FromDays(0))
     289            {
     290
     291                color = Color.FromArgb(
     292                    (byte)255,
     293                    brush.Color.R,
     294                    brush.Color.G,
     295                    brush.Color.B);
     296
     297                brush.Color = color;
     298                return brush;
     299            }
     300            return Brushes.AntiqueWhite;
     301        }
     302
     303        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
     304        {
     305            throw new NotImplementedException();
     306        }
     307    }
    203308    #endregion
    204309
Note: See TracChangeset for help on using the changeset viewer.