aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.SharedUI/Components
diff options
context:
space:
mode:
authorMirta <mirta@twine-s.com>2020-12-30 16:39:52 +0200
committerMirta <mirta@twine-s.com>2020-12-30 16:39:52 +0200
commit00a491d93733d4625ad329b2ba8237f445364b3f (patch)
tree4b24c6fa78d7648f4bb7cefafa464bb0b063fec4 /Software/Visual_Studio/Tango.SharedUI/Components
parent124ad4150f80c6846fdee41dbbda9848c105f6e5 (diff)
downloadTango-00a491d9.tar.gz
Tango-00a491d9.zip
merge
Diffstat (limited to 'Software/Visual_Studio/Tango.SharedUI/Components')
-rw-r--r--Software/Visual_Studio/Tango.SharedUI/Components/BindingProxy.cs31
-rw-r--r--Software/Visual_Studio/Tango.SharedUI/Components/SelectedObject.cs6
-rw-r--r--Software/Visual_Studio/Tango.SharedUI/Components/SelectedObjectCollection.cs44
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());