Index: Core/Common/src/Core.Common.Base/Service/FileImportActivity.cs
===================================================================
diff -u -r81982c798fc50dab94c8f1eb8799c04242515564 -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Common/src/Core.Common.Base/Service/FileImportActivity.cs (.../FileImportActivity.cs) (revision 81982c798fc50dab94c8f1eb8799c04242515564)
+++ Core/Common/src/Core.Common.Base/Service/FileImportActivity.cs (.../FileImportActivity.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -53,9 +53,7 @@
///
/// This method performs the actual import logic.
///
- ///
- /// This method can throw exceptions of any kind.
- ///
+ /// This method can throw exceptions of any kind.
protected override void OnRun()
{
fileImporter.ProgressChanged = (currentStepName, currentStep, totalSteps) => { ProgressText = string.Format(Resources.FileImportActivity_ImportFromFile_Step_CurrentProgress_0_of_TotalProgress_1_ProgressText_2, currentStep, totalSteps, currentStepName); };
Index: Core/Common/src/Core.Common.Controls.Swf/TreeViewControls/ITreeView.cs
===================================================================
diff -u -r83aacc6578d82137751a7d28f691e8b3d02312f1 -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Common/src/Core.Common.Controls.Swf/TreeViewControls/ITreeView.cs (.../ITreeView.cs) (revision 83aacc6578d82137751a7d28f691e8b3d02312f1)
+++ Core/Common/src/Core.Common.Controls.Swf/TreeViewControls/ITreeView.cs (.../ITreeView.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -39,13 +39,19 @@
///
/// Node presenters, sitting between specific data objects and the tree view
///
- ICollection NodePresenters { get; }
+ IEnumerable NodePresenters { get; }
IComparer TreeViewNodeSorter { get; set; }
IEnumerable AllLoadedNodes { get; }
///
+ /// Registers a node presenter.
+ ///
+ /// The presenter to be added.
+ void RegisterNodePresenter(ITreeNodePresenter presenter);
+
+ ///
/// Returns a specific node presenter for the given data object.
///
///
Index: Core/Common/src/Core.Common.Controls.Swf/TreeViewControls/TreeView.cs
===================================================================
diff -u -r83aacc6578d82137751a7d28f691e8b3d02312f1 -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Common/src/Core.Common.Controls.Swf/TreeViewControls/TreeView.cs (.../TreeView.cs) (revision 83aacc6578d82137751a7d28f691e8b3d02312f1)
+++ Core/Common/src/Core.Common.Controls.Swf/TreeViewControls/TreeView.cs (.../TreeView.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -133,14 +133,14 @@
{
get
{
- return Enumerable.SelectMany(Nodes, GetAllLoadedNodes);
+ return Nodes.SelectMany(GetAllLoadedNodes);
}
}
///
/// The nodepresenters handle building logic for dataobjects added to the tree.
///
- public ICollection NodePresenters
+ public IEnumerable NodePresenters
{
get
{
@@ -243,6 +243,11 @@
public void EnsureVisible(object item) {}
+ public void RegisterNodePresenter(ITreeNodePresenter presenter)
+ {
+ controller.RegisterNodePresenter(presenter);
+ }
+
public ITreeNodePresenter GetTreeViewNodePresenter(object nodeData, ITreeNode node)
{
if (nodeData == null)
Index: Core/Common/src/Core.Common.Controls.Swf/TreeViewControls/TreeViewController.cs
===================================================================
diff -u -r10b304d4b5cb2283801cdb16204baf2a42ab5967 -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Common/src/Core.Common.Controls.Swf/TreeViewControls/TreeViewController.cs (.../TreeViewController.cs) (revision 10b304d4b5cb2283801cdb16204baf2a42ab5967)
+++ Core/Common/src/Core.Common.Controls.Swf/TreeViewControls/TreeViewController.cs (.../TreeViewController.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -14,7 +14,7 @@
private static readonly ILog Log = LogManager.GetLogger(typeof(TreeViewController));
private readonly ITreeView treeView;
- private readonly IEventedList nodePresenters = new EventedList();
+ private readonly ICollection nodePresenters = new HashSet();
private readonly Dictionary nodeTagTypePresenters = new Dictionary();
private object data;
@@ -32,14 +32,12 @@
}
this.treeView = treeView;
-
- nodePresenters.CollectionChanged += NodePresentersCollectionChanged;
}
///
/// List of registered node presenters
///
- public IEventedList NodePresenters
+ public IEnumerable NodePresenters
{
get
{
@@ -73,6 +71,16 @@
}
///
+ /// Registers the node presenter.
+ ///
+ /// The presenter.
+ public void RegisterNodePresenter(ITreeNodePresenter presenter)
+ {
+ nodePresenters.Add(presenter);
+ presenter.TreeView = treeView;
+ }
+
+ ///
/// Gets the most specific node presenter for a piece of data. Does so by walking up the class hierarchy and trying to find an exact match
/// It is in the helper to allow heavy testing since this is complex logic.
///
@@ -106,7 +114,7 @@
if (presenter == null)
{
presenter = GetNodePresenterForType(type, parentNode) ??
- NodePresenters.FirstOrDefault(np => np.NodeTagType.IsInstanceOfType(item));
+ nodePresenters.FirstOrDefault(np => np.NodeTagType.IsInstanceOfType(item));
nodeTagTypePresenters[type] = presenter;
}
@@ -400,7 +408,7 @@
private ITreeNodePresenter GetNodePresenterForType(Type type, ITreeNode parentNode)
{
- var nodePresentersForType = NodePresenters.Where(p => p.NodeTagType == type).ToList();
+ var nodePresentersForType = nodePresenters.Where(p => p.NodeTagType == type).ToList();
if (!nodePresentersForType.Any() && type.BaseType != null)
{
@@ -417,16 +425,6 @@
: null;
}
- private void NodePresentersCollectionChanged(object sender, NotifyCollectionChangingEventArgs e)
- {
- if (e.Action != NotifyCollectionChangeAction.Add)
- {
- return;
- }
-
- ((ITreeNodePresenter) e.Item).TreeView = treeView;
- }
-
private void UpdateNode(ITreeNode parentNode, ITreeNode node, object nodeData)
{
var presenter = node.Presenter;
Index: Core/Common/src/Core.Common.Controls.Swf/WizardDialog.cs
===================================================================
diff -u -r5d3ef5d4a5042e908c036a1565793c1141b60a09 -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Common/src/Core.Common.Controls.Swf/WizardDialog.cs (.../WizardDialog.cs) (revision 5d3ef5d4a5042e908c036a1565793c1141b60a09)
+++ Core/Common/src/Core.Common.Controls.Swf/WizardDialog.cs (.../WizardDialog.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -5,18 +5,18 @@
using System.Linq;
using System.Windows.Forms;
using Core.Common.Controls.Swf.Properties;
-using Core.Common.Utils.Collections.Generic;
using DevExpress.XtraWizard;
namespace Core.Common.Controls.Swf
{
public partial class WizardDialog : Form, IView
{
+ private readonly IList pages;
private readonly IDictionary wizardPages = new Dictionary();
public WizardDialog()
{
- Pages = new EventedList();
+ pages = new List();
InitializeComponent();
wizardControl1.SelectedPageChanged += WizardControl1SelectedPageChanged;
wizardControl1.SelectedPageChanging += WizardControl1SelectedPageChanging;
@@ -36,8 +36,15 @@
public Image Image { get; set; }
public ViewInfo ViewInfo { get; set; }
- public IList Pages { get; private set; }
+ public IEnumerable Pages
+ {
+ get
+ {
+ return pages;
+ }
+ }
+
public IList PageTitles
{
get
@@ -63,11 +70,11 @@
{
return wizardControl1.Pages[wizardControl1.SelectedPageIndex];
}
- return Pages[wizardControl1.SelectedPageIndex - 1];
+ return pages[wizardControl1.SelectedPageIndex - 1];
}
set
{
- wizardControl1.SelectedPageIndex = Pages.IndexOf(value) + 1;
+ wizardControl1.SelectedPageIndex = pages.IndexOf(value) + 1;
}
}
@@ -143,7 +150,7 @@
wizardControl1.Pages.Insert(wizardControl1.Pages.Count - 1, wizardPage);
wizardPages[page] = wizardPage;
- Pages.Add(page);
+ pages.Add(page);
}
public void RemovePage(IComponent page)
@@ -158,7 +165,7 @@
wizardControl1.Pages.Remove(wizardPage);
wizardPages.Remove(page);
- Pages.Remove(page);
+ pages.Remove(page);
}
public DialogResult ShowModal()
Index: Core/Common/src/Core.Common.Gui/Forms/ViewManager/ViewList.cs
===================================================================
diff -u -r622c20f6fc0b693b67a3e57b2ece939823002c62 -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Common/src/Core.Common.Gui/Forms/ViewManager/ViewList.cs (.../ViewList.cs) (revision 622c20f6fc0b693b67a3e57b2ece939823002c62)
+++ Core/Common/src/Core.Common.Gui/Forms/ViewManager/ViewList.cs (.../ViewList.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -21,8 +21,6 @@
public event NotifyCollectionChangedEventHandler CollectionChanged;
- public event NotifyCollectionChangingEventHandler CollectionChanging;
-
public event NotifyCollectionChangedEventHandler ChildViewChanged;
private static readonly ILog Log = LogManager.GetLogger(typeof(ViewList));
private readonly ViewLocation? defaultLocation;
@@ -32,7 +30,6 @@
private readonly IDictionary childViewSubscribtionLookup =
new Dictionary();
- private ViewSelectionMouseController viewSelectionMouseController;
private IView activeView;
private bool clearing; // used to skip view activation when it is not necessary
@@ -116,7 +113,7 @@
public void EnableTabContextMenus()
{
- viewSelectionMouseController = new ViewSelectionMouseController(dockingManager, this);
+ new ViewSelectionMouseController(dockingManager, this);
}
// bug in Fluent ribbon (views removed during load layout are not cleared - no events), synchronize them manually
@@ -383,8 +380,6 @@
int oldIndex = views.IndexOf(view);
- FireCollectionChangingEvent(NotifyCollectionChangeAction.Remove, oldIndex, view);
-
views.Remove(view);
FireCollectionChangedEvent(NotifyCollectionChangeAction.Remove, oldIndex, view);
@@ -476,14 +471,6 @@
}
}
- private void FireCollectionChangingEvent(NotifyCollectionChangeAction action, int index, IView view)
- {
- if (CollectionChanging != null)
- {
- CollectionChanging(this, new NotifyCollectionChangingEventArgs(action, view, index, -1));
- }
- }
-
private void FireChildViewChangedEvent(NotifyCollectionChangingEventArgs args, IView view)
{
if (ChildViewChanged != null)
@@ -506,8 +493,6 @@
UpdateViewNameAction(view);
}
- FireCollectionChangingEvent(NotifyCollectionChangeAction.Add, index, view);
-
views.Insert(index, view);
dockingManager.Add(view, viewLocation);
Fisheye: Tag ef35125104cc8b0201f9c961049cc6c8a30fb74d refers to a dead (removed) revision in file `Core/Common/src/Core.Common.Utils/Collections/Generic/EnumerableList.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Core/Common/src/Core.Common.Utils/Collections/Generic/EventedList.cs
===================================================================
diff -u -r9b3ad522b72ddb7f06ce04cab7a0acb508c268bb -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Common/src/Core.Common.Utils/Collections/Generic/EventedList.cs (.../EventedList.cs) (revision 9b3ad522b72ddb7f06ce04cab7a0acb508c268bb)
+++ Core/Common/src/Core.Common.Utils/Collections/Generic/EventedList.cs (.../EventedList.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -30,7 +30,6 @@
// re-use event delegates, for performance reasons (10x speedup at add/remove)
private PropertyChangingEventHandler Item_PropertyChangingDelegate;
private PropertyChangedEventHandler Item_PropertyChangedDelegate;
- private NotifyCollectionChangingEventHandler Item_CollectionChangingDelegate;
private NotifyCollectionChangedEventHandler Item_CollectionChangedDelegate;
public bool HasParent { get; set; }
@@ -60,7 +59,6 @@
{
Item_PropertyChangedDelegate = Item_PropertyChanged;
Item_PropertyChangingDelegate = Item_PropertyChanging;
- Item_CollectionChangingDelegate = Item_CollectionChanging;
Item_CollectionChangedDelegate = Item_CollectionChanged;
}
@@ -412,15 +410,6 @@
}
}
- private void Item_CollectionChanging(object sender, NotifyCollectionChangingEventArgs e)
- {
- // forwards event to subscribers of the list
- if (CollectionChanging != null)
- {
- CollectionChanging(sender, e);
- }
- }
-
private void Item_CollectionChanged(object sender, NotifyCollectionChangingEventArgs e)
{
// forwards event to subscribers of the list
@@ -465,7 +454,6 @@
if (notifyCollectionChange != null)
{
notifyCollectionChange.CollectionChanged -= Item_CollectionChangedDelegate;
- notifyCollectionChange.CollectionChanging -= Item_CollectionChangingDelegate;
}
}
@@ -494,7 +482,6 @@
InitializeDelegates();
}
notifyCollectionChanged.CollectionChanged += Item_CollectionChangedDelegate;
- notifyCollectionChanged.CollectionChanging += Item_CollectionChangingDelegate;
}
}
Fisheye: Tag ef35125104cc8b0201f9c961049cc6c8a30fb74d refers to a dead (removed) revision in file `Core/Common/src/Core.Common.Utils/Collections/Generic/IEnumerableList.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Core/Common/src/Core.Common.Utils/Collections/INotifyCollectionChange.cs
===================================================================
diff -u -r9b3ad522b72ddb7f06ce04cab7a0acb508c268bb -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Common/src/Core.Common.Utils/Collections/INotifyCollectionChange.cs (.../INotifyCollectionChange.cs) (revision 9b3ad522b72ddb7f06ce04cab7a0acb508c268bb)
+++ Core/Common/src/Core.Common.Utils/Collections/INotifyCollectionChange.cs (.../INotifyCollectionChange.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -1,6 +1,6 @@
namespace Core.Common.Utils.Collections
{
- public interface INotifyCollectionChange : INotifyCollectionChanging, INotifyCollectionChanged
+ public interface INotifyCollectionChange : INotifyCollectionChanged
{
}
Fisheye: Tag ef35125104cc8b0201f9c961049cc6c8a30fb74d refers to a dead (removed) revision in file `Core/Common/src/Core.Common.Utils/Collections/INotifyCollectionChanging.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Core/Common/src/Core.Common.Utils/Core.Common.Utils.csproj
===================================================================
diff -u -rf42e31958888a2a09de2686d2805cb48595ba6e0 -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Common/src/Core.Common.Utils/Core.Common.Utils.csproj (.../Core.Common.Utils.csproj) (revision f42e31958888a2a09de2686d2805cb48595ba6e0)
+++ Core/Common/src/Core.Common.Utils/Core.Common.Utils.csproj (.../Core.Common.Utils.csproj) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -105,15 +105,12 @@
-
-
-
Index: Core/Common/test/Core.Common.Controls.Swf.Test/TreeViewControls/TreeViewControllerTest.cs
===================================================================
diff -u -rad6f88d1d7b21f950588f6109b79fe007aab0c9e -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Common/test/Core.Common.Controls.Swf.Test/TreeViewControls/TreeViewControllerTest.cs (.../TreeViewControllerTest.cs) (revision ad6f88d1d7b21f950588f6109b79fe007aab0c9e)
+++ Core/Common/test/Core.Common.Controls.Swf.Test/TreeViewControls/TreeViewControllerTest.cs (.../TreeViewControllerTest.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -31,17 +31,14 @@
mocks.ReplayAll();
- var presenter = new TreeViewController(treeview);
+ var controller = new TreeViewController(treeview);
var baseClassNodePresenter = new BaseClassNodePresenter();
var subClassNodePresenter = new SubClassNodePresenter();
- presenter.NodePresenters.AddRange(new ITreeNodePresenter[]
- {
- baseClassNodePresenter,
- subClassNodePresenter
- });
+ controller.RegisterNodePresenter(baseClassNodePresenter);
+ controller.RegisterNodePresenter(subClassNodePresenter);
- Assert.AreEqual(subClassNodePresenter, presenter.ResolveNodePresenterForData(new SubClass()));
+ Assert.AreEqual(subClassNodePresenter, controller.ResolveNodePresenterForData(new SubClass()));
mocks.VerifyAll();
}
@@ -92,10 +89,7 @@
var interfaceNodePresenter = new SomeInterfaceNodePresenter();
var interfaceImplementor = new SubClass();
- presenter.NodePresenters.AddRange(new[]
- {
- interfaceNodePresenter
- });
+ presenter.RegisterNodePresenter(interfaceNodePresenter);
Assert.AreEqual(interfaceNodePresenter, presenter.ResolveNodePresenterForData(interfaceImplementor));
@@ -125,7 +119,7 @@
mocks.ReplayAll();
var controller = new TreeViewController(treeview);
- controller.NodePresenters.Add(nodePresenter);
+ controller.RegisterNodePresenter(nodePresenter);
controller.OnNodeChecked(treeNode);
@@ -182,7 +176,7 @@
mocks.ReplayAll();
var presenter = new TreeViewController(treeview);
- presenter.NodePresenters.Add(nodePresenter);
+ presenter.RegisterNodePresenter(nodePresenter);
presenter.Data = new object();
@@ -242,7 +236,7 @@
mocks.ReplayAll();
var controller = new TreeViewController(treeview);
- controller.NodePresenters.Add(nodePresenter);
+ controller.RegisterNodePresenter(nodePresenter);
controller.OnTreeViewHandleCreated();
@@ -311,11 +305,8 @@
controller.OnTreeViewHandleCreated();
- controller.NodePresenters.AddRange(new[]
- {
- parentNodePresenter,
- childNodePresenter
- });
+ controller.RegisterNodePresenter(parentNodePresenter);
+ controller.RegisterNodePresenter(childNodePresenter);
controller.Data = parent;
// generate collection changed with listeners enabled
@@ -339,10 +330,7 @@
var treeViewController = new TreeViewController(treeView);
var parentNodePresenter = mocks.Stub();
- treeViewController.NodePresenters.AddRange(new[]
- {
- parentNodePresenter
- });
+ treeViewController.RegisterNodePresenter(parentNodePresenter);
var nodes = new List();
Expect.Call(treeView.Nodes).Return(nodes).Repeat.Any();
@@ -396,11 +384,8 @@
mocks.ReplayAll();
var controller = TypeUtils.GetField(treeview, "controller");
- controller.NodePresenters.AddRange(new[]
- {
- parentNodePresenter,
- childNodePresenter
- });
+ controller.RegisterNodePresenter(parentNodePresenter);
+ controller.RegisterNodePresenter(childNodePresenter);
controller.Data = parent;
@@ -456,11 +441,8 @@
mocks.ReplayAll();
var controller = TypeUtils.GetField(treeview, "controller");
- controller.NodePresenters.AddRange(new[]
- {
- parentNodePresenter,
- childNodePresenter
- });
+ controller.RegisterNodePresenter(parentNodePresenter);
+ controller.RegisterNodePresenter(childNodePresenter);
controller.Data = parent;
@@ -506,7 +488,7 @@
mocks.ReplayAll();
var presenter = new TreeViewController(treeview);
- presenter.NodePresenters.Add(nodePresenter);
+ presenter.RegisterNodePresenter(nodePresenter);
presenter.UpdateNode(treeNode);
@@ -567,8 +549,8 @@
mocks.ReplayAll();
var controller = new TreeViewController(treeview);
- controller.NodePresenters.Add(parentNodePresenter);
- controller.NodePresenters.Add(childNodePresenter);
+ controller.RegisterNodePresenter(parentNodePresenter);
+ controller.RegisterNodePresenter(childNodePresenter);
controller.UpdateNode(parentTreeNode);
@@ -606,7 +588,7 @@
// no node presenter
Assert.IsFalse(presenter.CanRenameNode(treeNode));
- presenter.NodePresenters.Add(nodePresenter);
+ presenter.RegisterNodePresenter(nodePresenter);
// node presenter decides
Assert.IsTrue(presenter.CanRenameNode(treeNode));
@@ -646,14 +628,55 @@
// no node presenter
Assert.IsFalse(controller.CanDeleteNode(treeNode));
- controller.NodePresenters.Add(nodePresenter);
+ controller.RegisterNodePresenter(nodePresenter);
// node presenter decides
Assert.IsTrue(controller.CanDeleteNode(treeNode));
mocks.VerifyAll();
}
+ [Test]
+ public void RegisterNodePresenter_ItemNotRegisteredYet_AddItemToAvailableNodePresenters()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var treeView = mocks.Stub();
+ var nodePresenter = mocks.Stub();
+ mocks.ReplayAll();
+
+ var controller = new TreeViewController(treeView);
+
+ // Call
+ controller.RegisterNodePresenter(nodePresenter);
+
+ // Assert
+ CollectionAssert.Contains(controller.NodePresenters, nodePresenter);
+ Assert.AreEqual(1, controller.NodePresenters.Count());
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void RegisterNodePresenter_ItemAlreadyRegistered_DoNothing()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var treeView = mocks.Stub();
+ var nodePresenter = mocks.Stub();
+ mocks.ReplayAll();
+
+ var controller = new TreeViewController(treeView);
+
+ // Call
+ controller.RegisterNodePresenter(nodePresenter);
+ controller.RegisterNodePresenter(nodePresenter);
+
+ // Assert
+ CollectionAssert.Contains(controller.NodePresenters, nodePresenter);
+ Assert.AreEqual(1, controller.NodePresenters.Count());
+ mocks.VerifyAll();
+ }
+
private class Parent
{
public Parent()
Index: Core/Common/test/Core.Common.Controls.Swf.Test/TreeViewControls/TreeViewNodePresenterBaseTest.cs
===================================================================
diff -u -r529c5b708080eb65abba0502d79869fe549e035a -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Common/test/Core.Common.Controls.Swf.Test/TreeViewControls/TreeViewNodePresenterBaseTest.cs (.../TreeViewNodePresenterBaseTest.cs) (revision 529c5b708080eb65abba0502d79869fe549e035a)
+++ Core/Common/test/Core.Common.Controls.Swf.Test/TreeViewControls/TreeViewNodePresenterBaseTest.cs (.../TreeViewNodePresenterBaseTest.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -48,8 +48,8 @@
using (var treeView = new TreeView())
{
- treeView.NodePresenters.Add(new GroupNodePresenterUsingCollection());
- treeView.NodePresenters.Add(new PersonNodePresenter());
+ treeView.RegisterNodePresenter(new GroupNodePresenterUsingCollection());
+ treeView.RegisterNodePresenter(new PersonNodePresenter());
treeView.Data = group;
WindowsFormsTestHelper.Show(treeView);
@@ -77,8 +77,8 @@
using (var treeView = new TreeView())
{
- treeView.NodePresenters.Add(new GroupNodePresenterUsingCollection());
- treeView.NodePresenters.Add(new PersonNodePresenter());
+ treeView.RegisterNodePresenter(new GroupNodePresenterUsingCollection());
+ treeView.RegisterNodePresenter(new PersonNodePresenter());
treeView.Data = group;
var groupNode = (TreeNode) treeView.Nodes[0];
@@ -117,8 +117,8 @@
using (var treeView = new TreeView())
{
- treeView.NodePresenters.Add(new GroupNodePresenterUsingProperty());
- treeView.NodePresenters.Add(new PersonNodePresenter());
+ treeView.RegisterNodePresenter(new GroupNodePresenterUsingProperty());
+ treeView.RegisterNodePresenter(new PersonNodePresenter());
treeView.Data = group;
WindowsFormsTestHelper.Show(treeView);
@@ -147,8 +147,8 @@
using (var treeView = new TreeView())
{
- treeView.NodePresenters.Add(new GroupNodePresenterUsingCollection());
- treeView.NodePresenters.Add(new PersonNodePresenter());
+ treeView.RegisterNodePresenter(new GroupNodePresenterUsingCollection());
+ treeView.RegisterNodePresenter(new PersonNodePresenter());
treeView.Data = group;
Assert.AreEqual(2, GetAllNodes(treeView.Nodes).Count());
@@ -178,8 +178,8 @@
using (var treeView = new TreeView())
{
- treeView.NodePresenters.Add(new GroupNodePresenterUsingCollection());
- treeView.NodePresenters.Add(new PersonNodePresenter());
+ treeView.RegisterNodePresenter(new GroupNodePresenterUsingCollection());
+ treeView.RegisterNodePresenter(new PersonNodePresenter());
treeView.Data = group;
WindowsFormsTestHelper.Show(treeView);
@@ -213,8 +213,8 @@
using (var treeView = new TreeView())
{
- treeView.NodePresenters.Add(new GroupNodePresenterUsingProperty());
- treeView.NodePresenters.Add(new PersonNodePresenter());
+ treeView.RegisterNodePresenter(new GroupNodePresenterUsingProperty());
+ treeView.RegisterNodePresenter(new PersonNodePresenter());
treeView.Data = group;
WindowsFormsTestHelper.Show(treeView);
Index: Core/Common/test/Core.Common.Controls.Swf.Test/TreeViewControls/TreeViewTest.cs
===================================================================
diff -u -rd6e6eadf4a2521df75b6d371bacbb181a43058a3 -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Common/test/Core.Common.Controls.Swf.Test/TreeViewControls/TreeViewTest.cs (.../TreeViewTest.cs) (revision d6e6eadf4a2521df75b6d371bacbb181a43058a3)
+++ Core/Common/test/Core.Common.Controls.Swf.Test/TreeViewControls/TreeViewTest.cs (.../TreeViewTest.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -49,7 +49,7 @@
var treeView = new TreeView();
//treeview is assigned to presenter when it's added to the list of nodepresenters
- treeView.NodePresenters.Add(presenter);
+ treeView.RegisterNodePresenter(presenter);
Assert.AreEqual(treeView, presenter.TreeView);
mockRepository.ReplayAll();
@@ -78,8 +78,8 @@
var parentNodePresenter = new ParentNodePresenter();
var childNodePresenter = new ChildNodePresenter();
- treeView.NodePresenters.Add(parentNodePresenter);
- treeView.NodePresenters.Add(childNodePresenter);
+ treeView.RegisterNodePresenter(parentNodePresenter);
+ treeView.RegisterNodePresenter(childNodePresenter);
childNodePresenter.AfterUpdate +=
delegate { Assert.Fail("Child nodes which are not loaded should not be updated"); };
@@ -208,14 +208,9 @@
}
};
- var treeView = new TreeView
- {
- NodePresenters =
- {
- new ChildNodePresenter()
- },
- Data = parent
- };
+ var treeView = new TreeView();
+ treeView.RegisterNodePresenter(new ChildNodePresenter());
+ treeView.Data = parent;
// expand / collapse / expand
treeView.ExpandAll();
@@ -264,13 +259,8 @@
[Test]
public void SelectedNodeSetToRootNodeAfterDataSet()
{
- var treeView = new TreeView
- {
- NodePresenters =
- {
- new ParentNodePresenter()
- }
- };
+ var treeView = new TreeView();
+ treeView.RegisterNodePresenter(new ParentNodePresenter());
var rootObject = new Parent();
@@ -289,14 +279,9 @@
[Test]
public void TreeNodesRemainExpandedForDynamicNodes()
{
- var treeView = new TreeView
- {
- NodePresenters =
- {
- new DynamicParentNodePresenter(),
- new ChildNodePresenter()
- }
- };
+ var treeView = new TreeView();
+ treeView.RegisterNodePresenter(new DynamicParentNodePresenter());
+ treeView.RegisterNodePresenter(new ChildNodePresenter());
var parent = new Parent();
treeView.Data = parent;
@@ -333,8 +318,8 @@
using (var treeView = new TreeView())
{
- treeView.NodePresenters.Add(new ParentNodePresenter());
- treeView.NodePresenters.Add(new ChildNodePresenter());
+ treeView.RegisterNodePresenter(new ParentNodePresenter());
+ treeView.RegisterNodePresenter(new ChildNodePresenter());
var parent = new Parent()
{
@@ -407,14 +392,8 @@
Console.WriteLine(@"Elapsed time to perform action without tree view: " + processingAction());
- var treeView = new TreeView
- {
- NodePresenters =
- {
- new ChildNodePresenter()
- },
- Data = parent
- };
+ var treeView = new TreeView();
+ treeView.RegisterNodePresenter(new ChildNodePresenter());
// expand / collapse / expand
treeView.ExpandAll();
@@ -439,6 +418,45 @@
TestHelper.AssertIsFasterThan(10, () => Thread.Sleep((int) elapsedMillisecondsWithTreeView));
}
+ [Test]
+ public void RegisterNodePresenter_NodePresenterNotRegisteredYet_NodePresenterAddedToAvailablePresenters()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var nodePresenter = mocks.Stub();
+ mocks.ReplayAll();
+
+ var treeView = new TreeView();
+
+ // Call
+ treeView.RegisterNodePresenter(nodePresenter);
+
+ // Assert
+ CollectionAssert.Contains(treeView.NodePresenters, nodePresenter);
+ Assert.AreEqual(1, treeView.NodePresenters.Count());
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void RegisterNodePresenter_NodePresenterAlreadyRegistered_DoNothing()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var nodePresenter = mocks.Stub();
+ mocks.ReplayAll();
+
+ var treeView = new TreeView();
+
+ // Call
+ treeView.RegisterNodePresenter(nodePresenter);
+ treeView.RegisterNodePresenter(nodePresenter);
+
+ // Assert
+ CollectionAssert.Contains(treeView.NodePresenters, nodePresenter);
+ Assert.AreEqual(1, treeView.NodePresenters.Count());
+ mocks.VerifyAll();
+ }
+
private class DynamicParentNodePresenter : TreeViewNodePresenterBase
{
public override void UpdateNode(ITreeNode parentNode, ITreeNode node, Parent nodeData)
Fisheye: Tag ef35125104cc8b0201f9c961049cc6c8a30fb74d refers to a dead (removed) revision in file `Core/Common/test/Core.Common.Utils.Test/Collections/Generic/EnumerableListTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Core/Common/test/Core.Common.Utils.Test/Core.Common.Utils.Test.csproj
===================================================================
diff -u -rf42e31958888a2a09de2686d2805cb48595ba6e0 -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Common/test/Core.Common.Utils.Test/Core.Common.Utils.Test.csproj (.../Core.Common.Utils.Test.csproj) (revision f42e31958888a2a09de2686d2805cb48595ba6e0)
+++ Core/Common/test/Core.Common.Utils.Test/Core.Common.Utils.Test.csproj (.../Core.Common.Utils.Test.csproj) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -88,7 +88,6 @@
-
Index: Core/GIS/src/Core.GIS.SharpMap/Map/Map.cs
===================================================================
diff -u -rbd8291af14687d29a602b64864c37f2e254459f8 -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/GIS/src/Core.GIS.SharpMap/Map/Map.cs (.../Map.cs) (revision bd8291af14687d29a602b64864c37f2e254459f8)
+++ Core/GIS/src/Core.GIS.SharpMap/Map/Map.cs (.../Map.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -1229,7 +1229,6 @@
{
layers.PropertyChanging -= OnPropertyChanging;
layers.PropertyChanged -= OnPropertyChanged;
- layers.CollectionChanging -= LayersCollectionChanging;
layers.CollectionChanged -= LayersCollectionChanged;
}
@@ -1239,22 +1238,13 @@
{
layers.PropertyChanging += OnPropertyChanging;
layers.PropertyChanged += OnPropertyChanged;
- layers.CollectionChanging += LayersCollectionChanging;
layers.CollectionChanged += LayersCollectionChanged;
}
layersInitialized = false;
}
}
- private void LayersCollectionChanging(object sender, NotifyCollectionChangingEventArgs e)
- {
- if (CollectionChanging != null)
- {
- CollectionChanging(sender, e);
- }
- }
-
private void LayersCollectionChanged(object sender, NotifyCollectionChangingEventArgs e)
{
OnLayersCollectionChanged(e);
@@ -1735,7 +1725,6 @@
#region INotifyCollectionChange Members
public virtual event NotifyCollectionChangedEventHandler CollectionChanged;
- public virtual event NotifyCollectionChangingEventHandler CollectionChanging;
public virtual bool HasDefaultEnvelopeSet
{
Index: Core/Plugins/src/Core.Plugins.CommonTools.Gui/Forms/Charting/ChartLegendView.cs
===================================================================
diff -u -ra950714ad9510756331d862aa35695fa0b2ed03b -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Plugins/src/Core.Plugins.CommonTools.Gui/Forms/Charting/ChartLegendView.cs (.../ChartLegendView.cs) (revision a950714ad9510756331d862aa35695fa0b2ed03b)
+++ Core/Plugins/src/Core.Plugins.CommonTools.Gui/Forms/Charting/ChartLegendView.cs (.../ChartLegendView.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -29,8 +29,8 @@
};
treeView.SelectedNodeChanged += TreeViewSelectedNodeChanged;
- treeView.NodePresenters.Add(new ChartTreeNodePresenter(guiPlugin));
- treeView.NodePresenters.Add(new ChartSeriesTreeNodePresenter(guiPlugin));
+ treeView.RegisterNodePresenter(new ChartTreeNodePresenter(guiPlugin));
+ treeView.RegisterNodePresenter(new ChartSeriesTreeNodePresenter(guiPlugin));
UpdateButtons();
}
Index: Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorerGuiPlugin.cs
===================================================================
diff -u -r10b304d4b5cb2283801cdb16204baf2a42ab5967 -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorerGuiPlugin.cs (.../ProjectExplorerGuiPlugin.cs) (revision 10b304d4b5cb2283801cdb16204baf2a42ab5967)
+++ Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorerGuiPlugin.cs (.../ProjectExplorerGuiPlugin.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -137,10 +137,7 @@
{
foreach (var np in projectTreeViewNodePresenters)
{
- if (!ProjectExplorer.ProjectTreeView.TreeView.NodePresenters.Contains(np))
- {
- ProjectExplorer.ProjectTreeView.TreeView.NodePresenters.Add(np);
- }
+ ProjectExplorer.ProjectTreeView.TreeView.RegisterNodePresenter(np);
}
}
}
Index: Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectTreeView.cs
===================================================================
diff -u -r5dc6b11ada2c7d2e4ca14413b1ddca577ba34d08 -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectTreeView.cs (.../ProjectTreeView.cs) (revision 5dc6b11ada2c7d2e4ca14413b1ddca577ba34d08)
+++ Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectTreeView.cs (.../ProjectTreeView.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -60,7 +60,7 @@
var treeFolderNodePresenter = new TreeFolderNodePresenter(guiPlugin);
- treeView.NodePresenters.Add(treeFolderNodePresenter);
+ treeView.RegisterNodePresenter(treeFolderNodePresenter);
}
}
Index: Core/Plugins/src/Core.Plugins.SharpMapGis.Gui/Forms/MapLegendView/MapLegendView.cs
===================================================================
diff -u -re1eca7dab59f9465ca9d0bd6d705490528a5e5a8 -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Plugins/src/Core.Plugins.SharpMapGis.Gui/Forms/MapLegendView/MapLegendView.cs (.../MapLegendView.cs) (revision e1eca7dab59f9465ca9d0bd6d705490528a5e5a8)
+++ Core/Plugins/src/Core.Plugins.SharpMapGis.Gui/Forms/MapLegendView/MapLegendView.cs (.../MapLegendView.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -45,10 +45,10 @@
var mapLayerLegendStyleTreeViewNodePresenter = new VectorStyleTreeViewNodePresenter();
var themeItemTreeViewNodePresenter = new ThemeItemTreeViewNodePresenter(guiPlugin);
- TreeView.NodePresenters.Add(mapTreeViewNodePresenter);
- TreeView.NodePresenters.Add(mapLayerTreeViewNodePresenter);
- TreeView.NodePresenters.Add(mapLayerLegendStyleTreeViewNodePresenter);
- TreeView.NodePresenters.Add(themeItemTreeViewNodePresenter);
+ TreeView.RegisterNodePresenter(mapTreeViewNodePresenter);
+ TreeView.RegisterNodePresenter(mapLayerTreeViewNodePresenter);
+ TreeView.RegisterNodePresenter(mapLayerLegendStyleTreeViewNodePresenter);
+ TreeView.RegisterNodePresenter(themeItemTreeViewNodePresenter);
TreeView.SelectedNodeChanged += TreeViewSelectedNodeChanged;
TreeView.NodeMouseClick += TreeViewNodeMouseClick;
Index: Core/Plugins/test/Core.Plugins.CommonTools.Test/TestViewList.cs
===================================================================
diff -u -rd37e350b3c62d61768313c57c2d8d8d05d22458a -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Plugins/test/Core.Plugins.CommonTools.Test/TestViewList.cs (.../TestViewList.cs) (revision d37e350b3c62d61768313c57c2d8d8d05d22458a)
+++ Core/Plugins/test/Core.Plugins.CommonTools.Test/TestViewList.cs (.../TestViewList.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -12,7 +12,6 @@
{
// Required by interface, but not used (yet)
#pragma warning disable 67
- public event NotifyCollectionChangingEventHandler CollectionChanging;
public event NotifyCollectionChangedEventHandler CollectionChanged;
public event EventHandler ActiveViewChanging;
Index: Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/ProjectExplorerPluginGuiTest.cs
===================================================================
diff -u -r074232b001ecb5ae110c0b95c05264d4372cbfb5 -ref35125104cc8b0201f9c961049cc6c8a30fb74d
--- Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/ProjectExplorerPluginGuiTest.cs (.../ProjectExplorerPluginGuiTest.cs) (revision 074232b001ecb5ae110c0b95c05264d4372cbfb5)
+++ Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/ProjectExplorerPluginGuiTest.cs (.../ProjectExplorerPluginGuiTest.cs) (revision ef35125104cc8b0201f9c961049cc6c8a30fb74d)
@@ -1,9 +1,9 @@
using System;
using System.Collections.Generic;
-using Core.Common.Base;
+using System.Linq;
+
using Core.Common.Base.Data;
using Core.Common.Base.Plugin;
-using Core.Common.Controls;
using Core.Common.Controls.Swf.TreeViewControls;
using Core.Common.Gui;
using NUnit.Framework;