Fixed block output preview

This commit is contained in:
Ben Wallis 2018-09-30 12:38:26 +01:00
parent 04cbf218f3
commit 0d81d0ef54
2 changed files with 13 additions and 19 deletions

View File

@ -143,6 +143,7 @@ namespace Filtration.ViewModels
{ {
RaisePropertyChanged(nameof(SelectedBlockViewModels)); RaisePropertyChanged(nameof(SelectedBlockViewModels));
RaisePropertyChanged(nameof(LastSelectedBlockViewModel)); RaisePropertyChanged(nameof(LastSelectedBlockViewModel));
Messenger.Default.Send(new NotificationMessage("LastSelectedBlockChanged"));
}; };
_lastAddedBlocks = new List<IItemFilterBlockViewModelBase>(); _lastAddedBlocks = new List<IItemFilterBlockViewModelBase>();
_showAdvanced = Settings.Default.ShowAdvanced; _showAdvanced = Settings.Default.ShowAdvanced;

View File

@ -1,4 +1,5 @@
using System; using System;
using System.Linq;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using Filtration.Parser.Interface.Services; using Filtration.Parser.Interface.Services;
using GalaSoft.MvvmLight.Messaging; using GalaSoft.MvvmLight.Messaging;
@ -28,19 +29,10 @@ namespace Filtration.ViewModels.ToolPanes
Messenger.Default.Register<NotificationMessage>(this, message => Messenger.Default.Register<NotificationMessage>(this, message =>
{ {
switch (message.Notification) if (message.Notification == "LastSelectedBlockChanged")
{
case "LastSelectedBlockChanged":
{
OnLastSelectedBlockChanged(this, EventArgs.Empty); OnLastSelectedBlockChanged(this, EventArgs.Empty);
break; else if (message.Notification == "ActiveDocumentChanged")
}
case "ActiveDocumentChanged":
{
OnLastSelectedBlockChanged(this, EventArgs.Empty); OnLastSelectedBlockChanged(this, EventArgs.Empty);
break;
}
}
}); });
} }
@ -49,7 +41,7 @@ namespace Filtration.ViewModels.ToolPanes
public string PreviewText public string PreviewText
{ {
get { return _previewText; } get => _previewText;
private set private set
{ {
_previewText = value; _previewText = value;
@ -64,15 +56,16 @@ namespace Filtration.ViewModels.ToolPanes
private void OnLastSelectedBlockChanged(object sender, EventArgs e) private void OnLastSelectedBlockChanged(object sender, EventArgs e)
{ {
if (AvalonDockWorkspaceViewModel.ActiveScriptViewModel?.LastSelectedBlockViewModel == null) if (AvalonDockWorkspaceViewModel.ActiveScriptViewModel?.SelectedBlockViewModels == null ||
AvalonDockWorkspaceViewModel.ActiveScriptViewModel.SelectedBlockViewModels.Count == 0)
{ {
PreviewText = string.Empty; PreviewText = string.Empty;
return; return;
} }
PreviewText = PreviewText = AvalonDockWorkspaceViewModel.ActiveScriptViewModel.SelectedBlockViewModels
_itemFilterBlockTranslator.TranslateItemFilterBlockBaseToString( .Select(s => _itemFilterBlockTranslator.TranslateItemFilterBlockBaseToString(s.BaseBlock))
AvalonDockWorkspaceViewModel.ActiveScriptViewModel.LastSelectedBlockViewModel.BaseBlock); .Aggregate((prev, curr) => prev + Environment.NewLine + Environment.NewLine + curr);
} }
} }
} }