From e0a660fec665c33cf2933f1039c80ef5e5e3dc0d Mon Sep 17 00:00:00 2001 From: Ben Date: Sun, 14 Jun 2015 20:56:05 +0100 Subject: [PATCH] Added Advanced Block Group block colouring --- .../BlockGroupAdvancedColorConverter.cs | 2 +- .../BlockGroupAdvancedFillConverter.cs | 22 +++++++++++++++ .../BlockGroupVisibilityConverter.cs | 27 +++++++++++++++++++ Filtration/Filtration.csproj | 1 + .../ViewModels/ItemFilterBlockViewModel.cs | 8 ++++++ Filtration/Views/ItemFilterBlockView.xaml | 11 +++++--- 6 files changed, 66 insertions(+), 5 deletions(-) create mode 100644 Filtration/Converters/BlockGroupAdvancedFillConverter.cs create mode 100644 Filtration/Converters/BlockGroupVisibilityConverter.cs diff --git a/Filtration/Converters/BlockGroupAdvancedColorConverter.cs b/Filtration/Converters/BlockGroupAdvancedColorConverter.cs index b04657d..301ab80 100644 --- a/Filtration/Converters/BlockGroupAdvancedColorConverter.cs +++ b/Filtration/Converters/BlockGroupAdvancedColorConverter.cs @@ -11,7 +11,7 @@ namespace Filtration.Converters { var advanced = (bool) value; - return advanced ? new SolidColorBrush(Colors.Red) : new SolidColorBrush(Colors.Black); + return advanced ? new SolidColorBrush(Colors.IndianRed) : new SolidColorBrush(Colors.Black); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) diff --git a/Filtration/Converters/BlockGroupAdvancedFillConverter.cs b/Filtration/Converters/BlockGroupAdvancedFillConverter.cs new file mode 100644 index 0000000..832c432 --- /dev/null +++ b/Filtration/Converters/BlockGroupAdvancedFillConverter.cs @@ -0,0 +1,22 @@ +using System; +using System.Globalization; +using System.Windows.Data; +using System.Windows.Media; + +namespace Filtration.Converters +{ + internal class BlockGroupAdvancedFillColorConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + var advanced = (bool) value; + + return advanced ? new SolidColorBrush(Colors.IndianRed) : new SolidColorBrush(Colors.SlateGray); + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} diff --git a/Filtration/Converters/BlockGroupVisibilityConverter.cs b/Filtration/Converters/BlockGroupVisibilityConverter.cs new file mode 100644 index 0000000..7a460d0 --- /dev/null +++ b/Filtration/Converters/BlockGroupVisibilityConverter.cs @@ -0,0 +1,27 @@ +using System; +using System.Globalization; +using System.Windows; +using System.Windows.Data; + +namespace Filtration.Converters +{ + internal class BlockGroupVisibilityConverter : IMultiValueConverter + { + public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) + { + var blockGroupAdvanced = (bool) values[0]; + var showAdvanced = (bool)values[1]; + + if (!blockGroupAdvanced || showAdvanced) + { + return Visibility.Visible; + } + return Visibility.Hidden; + } + + public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} diff --git a/Filtration/Filtration.csproj b/Filtration/Filtration.csproj index 8e3e161..ef1b316 100644 --- a/Filtration/Filtration.csproj +++ b/Filtration/Filtration.csproj @@ -107,6 +107,7 @@ Designer + diff --git a/Filtration/ViewModels/ItemFilterBlockViewModel.cs b/Filtration/ViewModels/ItemFilterBlockViewModel.cs index a9cc44b..41bd4e2 100644 --- a/Filtration/ViewModels/ItemFilterBlockViewModel.cs +++ b/Filtration/ViewModels/ItemFilterBlockViewModel.cs @@ -106,6 +106,14 @@ namespace Filtration.ViewModels get { return Block.BlockItems.Where(b => b is IAudioVisualBlockItem); } } + public bool AdvancedBlockGroup + { + get + { + return Block.BlockGroup != null && Block.BlockGroup.Advanced; + } + } + public bool DisplaySettingsPopupOpen { get { return _displaySettingsPopupOpen; } diff --git a/Filtration/Views/ItemFilterBlockView.xaml b/Filtration/Views/ItemFilterBlockView.xaml index e805345..d0f2560 100644 --- a/Filtration/Views/ItemFilterBlockView.xaml +++ b/Filtration/Views/ItemFilterBlockView.xaml @@ -6,6 +6,7 @@ xmlns:viewModels="clr-namespace:Filtration.ViewModels" xmlns:userControls="clr-namespace:Filtration.UserControls" xmlns:views="clr-namespace:Filtration.Views" + xmlns:converters="clr-namespace:Filtration.Converters" xmlns:blockItemBaseTypes="clr-namespace:Filtration.Models.BlockItemBaseTypes" xmlns:blockItemTypes="clr-namespace:Filtration.Models.BlockItemTypes" xmlns:enums="clr-namespace:Filtration.Enums" @@ -19,6 +20,8 @@ + + @@ -30,10 +33,10 @@ - - - - + + + Advanced Block Group +