diff options
| author | Mirta <mirta@twine-s.com> | 2020-12-30 16:39:52 +0200 |
|---|---|---|
| committer | Mirta <mirta@twine-s.com> | 2020-12-30 16:39:52 +0200 |
| commit | 00a491d93733d4625ad329b2ba8237f445364b3f (patch) | |
| tree | 4b24c6fa78d7648f4bb7cefafa464bb0b063fec4 /Software/Visual_Studio/Tango.SharedUI/Components | |
| parent | 124ad4150f80c6846fdee41dbbda9848c105f6e5 (diff) | |
| download | Tango-00a491d9.tar.gz Tango-00a491d9.zip | |
merge
Diffstat (limited to 'Software/Visual_Studio/Tango.SharedUI/Components')
3 files changed, 8 insertions, 73 deletions
diff --git a/Software/Visual_Studio/Tango.SharedUI/Components/BindingProxy.cs b/Software/Visual_Studio/Tango.SharedUI/Components/BindingProxy.cs deleted file mode 100644 index e13436900..000000000 --- a/Software/Visual_Studio/Tango.SharedUI/Components/BindingProxy.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows; - -namespace Tango.SharedUI.Components -{ - public class BindingProxy : Freezable - { - #region Overrides of Freezable - - protected override Freezable CreateInstanceCore() - { - return new BindingProxy(); - } - - #endregion - - public object Data - { - get { return (object)GetValue(DataProperty); } - set { SetValue(DataProperty, value); } - } - - public static readonly DependencyProperty DataProperty = - DependencyProperty.Register("Data", typeof(object), - typeof(BindingProxy)); - } -} diff --git a/Software/Visual_Studio/Tango.SharedUI/Components/SelectedObject.cs b/Software/Visual_Studio/Tango.SharedUI/Components/SelectedObject.cs index d85777292..f91e93b5a 100644 --- a/Software/Visual_Studio/Tango.SharedUI/Components/SelectedObject.cs +++ b/Software/Visual_Studio/Tango.SharedUI/Components/SelectedObject.cs @@ -7,20 +7,18 @@ using Tango.Core; namespace Tango.SharedUI.Components { - public class SelectedObject : ExtendedObject + public class SelectedObject<T> : ExtendedObject { public event EventHandler IsSelectedChanged; private bool _isSelected; + public bool IsSelected { get { return _isSelected; } set { _isSelected = value; RaisePropertyChangedAuto(); IsSelectedChanged?.Invoke(this, new EventArgs()); } } - } - public class SelectedObject<T> : SelectedObject - { private T _data; public T Data 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<T> : ObservableCollection<SelectedObject<T>> { - private Func<T, T, bool> _compareFunc; - public event EventHandler SelectionChanged; public ObservableCollection<T> Source { get; set; } public ObservableCollection<T> SynchedSource { get; set; } - public SelectedObjectCollection(ObservableCollection<T> source, ObservableCollection<T> synchedSource, Func<T, T, bool> compareFunc) + public SelectedObjectCollection(ObservableCollection<T> source, ObservableCollection<T> synchedSource) { - _compareFunc = compareFunc; - SynchedSource = synchedSource; Source = source; foreach (var item in source) { - var selectedItem = new SelectedObject<T>(item, _compareFunc == null ? synchedSource.Contains(item) : synchedSource.ToList().Exists(x => _compareFunc(x, item))); + var selectedItem = new SelectedObject<T>(item, synchedSource.Contains(item)); this.Add(selectedItem); selectedItem.IsSelectedChanged += SelectedItem_IsSelectedChanged; } } - public SelectedObjectCollection(ObservableCollection<T> source, ObservableCollection<T> synchedSource) : this(source, synchedSource, null) - { - - } - private void SelectedItem_IsSelectedChanged(object sender, EventArgs e) { SelectedObject<T> item = sender as SelectedObject<T>; - + 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()); |
