From 00a491d93733d4625ad329b2ba8237f445364b3f Mon Sep 17 00:00:00 2001 From: Mirta Date: Wed, 30 Dec 2020 16:39:52 +0200 Subject: merge --- .../Components/SelectedObjectCollection.cs | 44 +++------------------- 1 file changed, 6 insertions(+), 38 deletions(-) (limited to 'Software/Visual_Studio/Tango.SharedUI/Components/SelectedObjectCollection.cs') diff --git a/Software/Visual_Studio/Tango.SharedUI/Components/SelectedObjectCollection.cs b/Software/Visual_Studio/Tango.SharedUI/Components/SelectedObjectCollection.cs index 8aa087ed3..e09bb832e 100644 --- a/Software/Visual_Studio/Tango.SharedUI/Components/SelectedObjectCollection.cs +++ b/Software/Visual_Studio/Tango.SharedUI/Components/SelectedObjectCollection.cs @@ -10,69 +10,37 @@ namespace Tango.SharedUI.Components { public class SelectedObjectCollection : ObservableCollection> { - private Func _compareFunc; - public event EventHandler SelectionChanged; public ObservableCollection Source { get; set; } public ObservableCollection SynchedSource { get; set; } - public SelectedObjectCollection(ObservableCollection source, ObservableCollection synchedSource, Func compareFunc) + public SelectedObjectCollection(ObservableCollection source, ObservableCollection synchedSource) { - _compareFunc = compareFunc; - SynchedSource = synchedSource; Source = source; foreach (var item in source) { - var selectedItem = new SelectedObject(item, _compareFunc == null ? synchedSource.Contains(item) : synchedSource.ToList().Exists(x => _compareFunc(x, item))); + var selectedItem = new SelectedObject(item, synchedSource.Contains(item)); this.Add(selectedItem); selectedItem.IsSelectedChanged += SelectedItem_IsSelectedChanged; } } - public SelectedObjectCollection(ObservableCollection source, ObservableCollection synchedSource) : this(source, synchedSource, null) - { - - } - private void SelectedItem_IsSelectedChanged(object sender, EventArgs e) { SelectedObject item = sender as SelectedObject; - + if (item.IsSelected) { - if (_compareFunc == null) + if (!SynchedSource.Contains(item.Data)) { - if (!SynchedSource.Contains(item.Data)) - { - SynchedSource.Add(item.Data); - } - } - else - { - if (!SynchedSource.ToList().Exists(x => _compareFunc(x, item.Data))) - { - SynchedSource.Add(item.Data); - } + SynchedSource.Add(item.Data); } } else { - if (_compareFunc == null) - { - SynchedSource.Remove(item.Data); - } - else - { - foreach (var s in SynchedSource.ToList()) - { - if (_compareFunc(s, item.Data)) - { - SynchedSource.Remove(s); - } - } - } + SynchedSource.Remove(item.Data); } SelectionChanged?.Invoke(this, new EventArgs()); -- cgit v1.3.1