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(LastSelectedBlockViewModel));
Messenger.Default.Send(new NotificationMessage("LastSelectedBlockChanged"));
};
_lastAddedBlocks = new List<IItemFilterBlockViewModelBase>();
_showAdvanced = Settings.Default.ShowAdvanced;

View File

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