diff --git a/Filtration/ViewModels/ItemFilterBlockViewModel.cs b/Filtration/ViewModels/ItemFilterBlockViewModel.cs index d5bbe1c..5cf0c0c 100644 --- a/Filtration/ViewModels/ItemFilterBlockViewModel.cs +++ b/Filtration/ViewModels/ItemFilterBlockViewModel.cs @@ -28,7 +28,6 @@ namespace Filtration.ViewModels private readonly IStaticDataService _staticDataService; private readonly IReplaceColorsViewModel _replaceColorsViewModel; private readonly MediaPlayer _mediaPlayer = new MediaPlayer(); - private IItemFilterScriptViewModel _parentScriptViewModel; private bool _displaySettingsPopupOpen; private bool _isExpanded; @@ -39,17 +38,8 @@ namespace Filtration.ViewModels _staticDataService = staticDataService; _replaceColorsViewModel = replaceColorsViewModel; - CopyBlockCommand = new RelayCommand(OnCopyBlockCommand); - PasteBlockCommand = new RelayCommand(OnPasteBlockCommand); CopyBlockStyleCommand = new RelayCommand(OnCopyBlockStyleCommand); PasteBlockStyleCommand = new RelayCommand(OnPasteBlockStyleCommand); - AddBlockCommand = new RelayCommand(OnAddBlockCommand); - AddSectionCommand = new RelayCommand(OnAddSectionCommand); - DeleteBlockCommand = new RelayCommand(OnDeleteBlockCommand); - MoveBlockUpCommand = new RelayCommand(OnMoveBlockUpCommand); - MoveBlockDownCommand = new RelayCommand(OnMoveBlockDownCommand); - MoveBlockToTopCommand = new RelayCommand(OnMoveBlockToTopCommand); - MoveBlockToBottomCommand = new RelayCommand(OnMoveBlockToBottomCommand); ReplaceColorsCommand = new RelayCommand(OnReplaceColorsCommand); AddFilterBlockItemCommand = new RelayCommand(OnAddFilterBlockItemCommand); ToggleBlockActionCommand = new RelayCommand(OnToggleBlockActionCommand); @@ -82,17 +72,8 @@ namespace Filtration.ViewModels base.Initialise(itemFilterBlock, parentScriptViewModel); } - public RelayCommand CopyBlockCommand { get; } - public RelayCommand PasteBlockCommand { get; } public RelayCommand CopyBlockStyleCommand { get; } public RelayCommand PasteBlockStyleCommand { get; } - public RelayCommand AddBlockCommand { get; } - public RelayCommand AddSectionCommand { get; } - public RelayCommand DeleteBlockCommand { get; } - public RelayCommand MoveBlockUpCommand { get; } - public RelayCommand MoveBlockDownCommand { get; } - public RelayCommand MoveBlockToTopCommand { get; } - public RelayCommand MoveBlockToBottomCommand { get; } public RelayCommand ToggleBlockActionCommand { get; } public RelayCommand ReplaceColorsCommand { get; } public RelayCommand AddFilterBlockItemCommand { get; } diff --git a/Filtration/ViewModels/ItemFilterBlockViewModelBase.cs b/Filtration/ViewModels/ItemFilterBlockViewModelBase.cs index 347da48..86dcfcb 100644 --- a/Filtration/ViewModels/ItemFilterBlockViewModelBase.cs +++ b/Filtration/ViewModels/ItemFilterBlockViewModelBase.cs @@ -1,6 +1,7 @@ using System; using Filtration.ObjectModel; using GalaSoft.MvvmLight; +using GalaSoft.MvvmLight.CommandWpf; namespace Filtration.ViewModels { @@ -16,14 +17,40 @@ namespace Filtration.ViewModels { private bool _isDirty; + public ItemFilterBlockViewModelBase() + { + CopyBlockCommand = new RelayCommand(OnCopyBlockCommand); + PasteBlockCommand = new RelayCommand(OnPasteBlockCommand); + AddBlockCommand = new RelayCommand(OnAddBlockCommand); + AddSectionCommand = new RelayCommand(OnAddSectionCommand); + DeleteBlockCommand = new RelayCommand(OnDeleteBlockCommand); + MoveBlockUpCommand = new RelayCommand(OnMoveBlockUpCommand); + MoveBlockDownCommand = new RelayCommand(OnMoveBlockDownCommand); + MoveBlockToTopCommand = new RelayCommand(OnMoveBlockToTopCommand); + MoveBlockToBottomCommand = new RelayCommand(OnMoveBlockToBottomCommand); + } + + public virtual void Initialise(IItemFilterBlockBase itemfilterBlock, IItemFilterScriptViewModel itemFilterScriptViewModel) { BaseBlock = itemfilterBlock; + _parentScriptViewModel = itemFilterScriptViewModel; } public event EventHandler BlockBecameDirty; public IItemFilterBlockBase BaseBlock { get; protected set; } + public IItemFilterScriptViewModel _parentScriptViewModel; + + public RelayCommand CopyBlockCommand { get; } + public RelayCommand PasteBlockCommand { get; } + public RelayCommand AddBlockCommand { get; } + public RelayCommand AddSectionCommand { get; } + public RelayCommand DeleteBlockCommand { get; } + public RelayCommand MoveBlockUpCommand { get; } + public RelayCommand MoveBlockDownCommand { get; } + public RelayCommand MoveBlockToTopCommand { get; } + public RelayCommand MoveBlockToBottomCommand { get; } public bool IsDirty { @@ -38,5 +65,50 @@ namespace Filtration.ViewModels } } } + + private void OnCopyBlockCommand() + { + _parentScriptViewModel.CopyBlock(this); + } + + private void OnPasteBlockCommand() + { + _parentScriptViewModel.PasteBlock(this); + } + + private void OnAddBlockCommand() + { + _parentScriptViewModel.AddBlock(this); + } + + private void OnAddSectionCommand() + { + _parentScriptViewModel.AddCommentBlock(this); + } + + private void OnDeleteBlockCommand() + { + _parentScriptViewModel.DeleteBlock(this); + } + + private void OnMoveBlockUpCommand() + { + _parentScriptViewModel.MoveBlockUp(this); + } + + private void OnMoveBlockDownCommand() + { + _parentScriptViewModel.MoveBlockDown(this); + } + + private void OnMoveBlockToTopCommand() + { + _parentScriptViewModel.MoveBlockToTop(this); + } + + private void OnMoveBlockToBottomCommand() + { + _parentScriptViewModel.MoveBlockToBottom(this); + } } } \ No newline at end of file diff --git a/Filtration/ViewModels/ItemFilterCommentBlockViewModel.cs b/Filtration/ViewModels/ItemFilterCommentBlockViewModel.cs index da61e76..dc5a588 100644 --- a/Filtration/ViewModels/ItemFilterCommentBlockViewModel.cs +++ b/Filtration/ViewModels/ItemFilterCommentBlockViewModel.cs @@ -1,5 +1,4 @@ using Filtration.ObjectModel; -using GalaSoft.MvvmLight.CommandWpf; namespace Filtration.ViewModels { @@ -11,31 +10,6 @@ namespace Filtration.ViewModels internal class ItemFilterCommentBlockViewModel : ItemFilterBlockViewModelBase, IItemFilterCommentBlockViewModel { - private IItemFilterScriptViewModel _parentScriptViewModel; - - public ItemFilterCommentBlockViewModel() - { - CopyBlockCommand = new RelayCommand(OnCopyBlockCommand); - PasteBlockCommand = new RelayCommand(OnPasteBlockCommand); - AddBlockCommand = new RelayCommand(OnAddBlockCommand); - AddSectionCommand = new RelayCommand(OnAddSectionCommand); - DeleteBlockCommand = new RelayCommand(OnDeleteBlockCommand); - MoveBlockUpCommand = new RelayCommand(OnMoveBlockUpCommand); - MoveBlockDownCommand = new RelayCommand(OnMoveBlockDownCommand); - MoveBlockToTopCommand = new RelayCommand(OnMoveBlockToTopCommand); - MoveBlockToBottomCommand = new RelayCommand(OnMoveBlockToBottomCommand); - } - - public RelayCommand CopyBlockCommand { get; } - public RelayCommand PasteBlockCommand { get; } - public RelayCommand AddBlockCommand { get; } - public RelayCommand AddSectionCommand { get; } - public RelayCommand DeleteBlockCommand { get; } - public RelayCommand MoveBlockUpCommand { get; } - public RelayCommand MoveBlockDownCommand { get; } - public RelayCommand MoveBlockToTopCommand { get; } - public RelayCommand MoveBlockToBottomCommand { get; } - public override void Initialise(IItemFilterBlockBase itemfilterBlock, IItemFilterScriptViewModel itemFilterScriptViewModel) { _parentScriptViewModel = itemFilterScriptViewModel; @@ -56,52 +30,8 @@ namespace Filtration.ViewModels set { ItemFilterCommentBlock.Comment = value; + RaisePropertyChanged(); } } - - private void OnCopyBlockCommand() - { - _parentScriptViewModel.CopyBlock(this); - } - - private void OnPasteBlockCommand() - { - _parentScriptViewModel.PasteBlock(this); - } - - private void OnAddBlockCommand() - { - _parentScriptViewModel.AddBlock(this); - } - - private void OnAddSectionCommand() - { - _parentScriptViewModel.AddCommentBlock(this); - } - - private void OnDeleteBlockCommand() - { - _parentScriptViewModel.DeleteBlock(this); - } - - private void OnMoveBlockUpCommand() - { - _parentScriptViewModel.MoveBlockUp(this); - } - - private void OnMoveBlockDownCommand() - { - _parentScriptViewModel.MoveBlockDown(this); - } - - private void OnMoveBlockToTopCommand() - { - _parentScriptViewModel.MoveBlockToTop(this); - } - - private void OnMoveBlockToBottomCommand() - { - _parentScriptViewModel.MoveBlockToBottom(this); - } } } \ No newline at end of file