33 lines
968 B
C#
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);
|
|
}
|
|
}
|
|
}
|