From 99a011c78cefed52c2defced2abae3eac2b859a1 Mon Sep 17 00:00:00 2001 From: azakhi Date: Wed, 5 Sep 2018 17:55:16 +0300 Subject: [PATCH] Add clear all button & missing functions --- .../ToolPanes/BlockGroupBrowserViewModel.cs | 32 ++++++++++++++++++- .../ToolPanes/BlockGroupBrowserView.xaml | 11 +++++-- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/Filtration/ViewModels/ToolPanes/BlockGroupBrowserViewModel.cs b/Filtration/ViewModels/ToolPanes/BlockGroupBrowserViewModel.cs index f205a39..2302f0d 100644 --- a/Filtration/ViewModels/ToolPanes/BlockGroupBrowserViewModel.cs +++ b/Filtration/ViewModels/ToolPanes/BlockGroupBrowserViewModel.cs @@ -21,6 +21,9 @@ namespace Filtration.ViewModels.ToolPanes public BlockGroupBrowserViewModel() : base("Block Group Browser") { FilterToSelectedBlockGroupCommand = new RelayCommand(OnFilterToSelectedBlockGroupCommand, () => SelectedBlockGroupViewModel != null); + ClearAllFiltersCommand = new RelayCommand(OnClearAllFiltersCommand); + ExpandAllCommand = new RelayCommand(OnExpandAllCommand); + CollapseAllCommand = new RelayCommand(OnCollapseAllCommand); ContentId = ToolContentId; var icon = new BitmapImage(); @@ -71,7 +74,13 @@ namespace Filtration.ViewModels.ToolPanes } public RelayCommand FilterToSelectedBlockGroupCommand { get; } - + + public RelayCommand ClearAllFiltersCommand { get; } + + public RelayCommand ExpandAllCommand { get; } + + public RelayCommand CollapseAllCommand { get; } + public ObservableCollection BlockGroupViewModels { get => _blockGroupViewModelViewModels; @@ -107,5 +116,26 @@ namespace Filtration.ViewModels.ToolPanes AvalonDockWorkspaceViewModel.ActiveScriptViewModel.BlockFilterPredicate = b => b.Block.HasBlockGroupInParentHierarchy(SelectedBlockGroupViewModel.SourceBlockGroup, b.Block.BlockGroup); } + + private void OnClearAllFiltersCommand() + { + AvalonDockWorkspaceViewModel.ActiveScriptViewModel?.ClearFilterCommand.Execute(null); + } + + private void OnExpandAllCommand() + { + foreach (var vm in BlockGroupViewModels) + { + vm.IsExpanded = true; + } + } + + private void OnCollapseAllCommand() + { + foreach (var vm in BlockGroupViewModels) + { + vm.IsExpanded = false; + } + } } } diff --git a/Filtration/Views/ToolPanes/BlockGroupBrowserView.xaml b/Filtration/Views/ToolPanes/BlockGroupBrowserView.xaml index aa9d1ef..1e2dbd1 100644 --- a/Filtration/Views/ToolPanes/BlockGroupBrowserView.xaml +++ b/Filtration/Views/ToolPanes/BlockGroupBrowserView.xaml @@ -21,13 +21,20 @@