Files
DynamicDataDisplay/Common/Auxiliary/PlotterChildrenCollectionExtensions.cs
2024-02-23 00:46:06 -05:00

33 lines
968 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Research.DynamicDataDisplay.Common;
using System.Windows.Threading;
namespace Microsoft.Research.DynamicDataDisplay
{
public static class PlotterChildrenCollectionExtensions
{
public static void RemoveAll<T>(this PlotterChildrenCollection children)
{
var childrenToDelete = children.OfType<T>().ToList();
foreach (var child in childrenToDelete)
{
children.Remove(child as IPlotterElement);
}
}
public static void BeginAdd(this PlotterChildrenCollection children, IPlotterElement child)
{
children.Plotter.Dispatcher.BeginInvoke(((Action)(() => { children.Add(child); })), DispatcherPriority.Send);
}
public static void BeginRemove(this PlotterChildrenCollection children, IPlotterElement child)
{
children.Plotter.Dispatcher.BeginInvoke(((Action)(() => { children.Remove(child); })), DispatcherPriority.Send);
}
}
}