private void InternalCollectionChanged(object sernder, NotifyCollectionChangedEventArgs e)
{
if (e.Action == NotifyCollectionChangedAction.Remove || e.Action == NotifyCollectionChangedAction.Add)
{
if (e.Action == NotifyCollectionChangedAction.Remove)
{
if (e.OldItems[0] is Script)
{
var args = new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset); // TODO: change this
OnCollectionChanged(args);
}
else
{
var args = new NotifyCollectionChangedEventArgs(e.Action, _lastDeletedBrick, LastDeletedIndex);
OnCollectionChanged(args);
}
}
else
{
if (e.NewItems[0] is Script)
{
var args = new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset); // TODO: change this
OnCollectionChanged(args);
}
else
{
var args = new NotifyCollectionChangedEventArgs(e.Action, _lastInsertedBrick, _lastInsertedIndex);
OnCollectionChanged(args);
}
}
}
else
{
var args = new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset);
OnCollectionChanged(args);
}
}