From 4dca7f77225f5eb4ef9e560d6d2556514fb08d9c Mon Sep 17 00:00:00 2001
From: Dmitrii Cetvericov <d.cetvericov@live.de>
Date: Tue, 24 Nov 2020 19:06:25 +0100
Subject: [PATCH] Fix UpdateSourceTrigger of QueueView and clear charts if the
 "Clear Queues" button is clicked.

---
 .../ViewModels/ChartsViewModel.cs                  | 14 ++++++++++++++
 .../CBSVisualizer.Modules.Queue/Views/Queue.xaml   |  2 +-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/CBSVisualizer/CBSVisualizer.Modules.Charts/ViewModels/ChartsViewModel.cs b/CBSVisualizer/CBSVisualizer.Modules.Charts/ViewModels/ChartsViewModel.cs
index b12618d..98a49c3 100644
--- a/CBSVisualizer/CBSVisualizer.Modules.Charts/ViewModels/ChartsViewModel.cs
+++ b/CBSVisualizer/CBSVisualizer.Modules.Charts/ViewModels/ChartsViewModel.cs
@@ -5,6 +5,7 @@ using System.Collections.ObjectModel;
 using CBSVisualizer.Core.Mvvm;
 using CBSVisualizer.Messaging.Events;
 using CBSVisualizer.Messaging.Events.Charts;
+using CBSVisualizer.Messaging.Events.Queue;
 using CBSVisualizer.Messaging.Events.Simulation;
 using Prism.Events;
 using Prism.Regions;
@@ -30,6 +31,19 @@ namespace CBSVisualizer.Modules.Charts.ViewModels
             InitCharts();
             InitPacketHandler(eventAggregator);
             InitCreditHandler(eventAggregator);
+            InitClearListener(eventAggregator);
+        }
+
+        private void InitClearListener(IEventAggregator eventAggregator)
+        {
+            eventAggregator.GetEvent<ClearQueuesEvent>().Subscribe(() =>
+            {
+                foreach (var (_, collection) in QueueSeries)
+                {
+                    collection[0]?.DataSeries.Clear();
+                    collection[1]?.DataSeries.Clear();
+                }
+            });
         }
 
         /// <summary>
diff --git a/CBSVisualizer/CBSVisualizer.Modules.Queue/Views/Queue.xaml b/CBSVisualizer/CBSVisualizer.Modules.Queue/Views/Queue.xaml
index a8f91c4..a0f4e69 100644
--- a/CBSVisualizer/CBSVisualizer.Modules.Queue/Views/Queue.xaml
+++ b/CBSVisualizer/CBSVisualizer.Modules.Queue/Views/Queue.xaml
@@ -23,7 +23,7 @@
 
         <TextBox materialDesign:HintAssist.Hint="Idle Slope [byte/s]"
                  Style="{StaticResource MaterialDesignFloatingHintTextBox}"
-                 x:Name="CreditRateTextBox" Text="{Binding IdleSlope}" Grid.Column="1" Grid.RowSpan="2" VerticalAlignment="Center" HorizontalAlignment="Center" TextAlignment="Center" />
+                 x:Name="CreditRateTextBox" Text="{Binding IdleSlope, UpdateSourceTrigger=PropertyChanged}" Grid.Column="1" Grid.RowSpan="2" VerticalAlignment="Center" HorizontalAlignment="Center" TextAlignment="Center" />
 
         <ComboBox Style="{StaticResource MaterialDesignFloatingHintComboBox}"
             materialDesign:TextFieldAssist.UnderlineBrush="{DynamicResource SecondaryAccentBrush}"
-- 
GitLab