Index: Core/Common/src/Core.Common.Controls.TreeView/ITreeNodePresenter.cs
===================================================================
diff -u -rd7da4fd9051547085f0cbbec790eda9cb8ca7f14 -rac6f0c53e8a567d9bcb460b5a06f78081feaff2c
--- Core/Common/src/Core.Common.Controls.TreeView/ITreeNodePresenter.cs (.../ITreeNodePresenter.cs) (revision d7da4fd9051547085f0cbbec790eda9cb8ca7f14)
+++ Core/Common/src/Core.Common.Controls.TreeView/ITreeNodePresenter.cs (.../ITreeNodePresenter.cs) (revision ac6f0c53e8a567d9bcb460b5a06f78081feaff2c)
@@ -124,12 +124,6 @@
void OnDragDrop(object item, object itemParent, object target, DragOperations operation, int position);
///
- /// In case a node is selected by the user it might be necessary to notify observers.
- ///
- ///
- void OnNodeSelected(object nodeData);
-
- ///
/// Returns context menu based on current data
///
ContextMenuStrip GetContextMenu(TreeNode node, object nodeData);
Index: Core/Common/src/Core.Common.Controls.TreeView/TreeNode.cs
===================================================================
diff -u -rd7da4fd9051547085f0cbbec790eda9cb8ca7f14 -rac6f0c53e8a567d9bcb460b5a06f78081feaff2c
--- Core/Common/src/Core.Common.Controls.TreeView/TreeNode.cs (.../TreeNode.cs) (revision d7da4fd9051547085f0cbbec790eda9cb8ca7f14)
+++ Core/Common/src/Core.Common.Controls.TreeView/TreeNode.cs (.../TreeNode.cs) (revision ac6f0c53e8a567d9bcb460b5a06f78081feaff2c)
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Drawing;
+using System.Linq;
using System.Windows.Forms;
using Core.Common.Base;
@@ -10,7 +11,7 @@
{
private readonly TreeNodeList nodes;
private readonly TreeView treeView;
- protected bool isLoaded;
+ private bool isLoaded;
private object tag;
private IObservable observable;
private readonly int maximumTextLength = 259; // Having very big strings causes problems by tree-view
@@ -177,18 +178,6 @@
public bool ShowCheckBox { get; set; }
- public Color BackgroundColor
- {
- get
- {
- return BackColor;
- }
- set
- {
- BackColor = value;
- }
- }
-
public Color ForegroundColor
{
get
@@ -205,7 +194,7 @@
public Image Image { get; set; }
public bool IsUpdating { get; private set; }
- public void RefreshChildNodes(bool forcedRefresh = false)
+ private void RefreshChildNodes(bool forcedRefresh = false)
{
if (IsUpdating && !forcedRefresh)
{
@@ -289,15 +278,7 @@
public TreeNode GetNodeByTag(object item)
{
- foreach (TreeNode node in nodes)
- {
- if (node.Tag == item)
- {
- return node;
- }
- }
-
- return null;
+ return nodes.FirstOrDefault(node => node.Tag == item);
}
public void ShowContextMenu(Point location)
@@ -315,26 +296,5 @@
observable.Detach(this);
}
}
-
- private static Font CreateBoldFont(Font font, bool bold)
- {
- if (font.Bold != bold)
- {
- FontStyle style;
- if (bold)
- {
- style = font.Style | FontStyle.Bold;
- }
- else
- {
- //'substract' the bold
- style = (FontStyle) ((int) font.Style - (int) FontStyle.Bold);
- }
- return new Font(font.Name, font.Size,
- style, font.Unit,
- font.GdiCharSet, font.GdiVerticalFont);
- }
- return new Font(font, font.Style);
- }
}
}
\ No newline at end of file
Index: Core/Common/src/Core.Common.Controls.TreeView/TreeNodeGraphicExtensions.cs
===================================================================
diff -u -rb326158bd228dc407858ba620a437a175baf0190 -rac6f0c53e8a567d9bcb460b5a06f78081feaff2c
--- Core/Common/src/Core.Common.Controls.TreeView/TreeNodeGraphicExtensions.cs (.../TreeNodeGraphicExtensions.cs) (revision b326158bd228dc407858ba620a437a175baf0190)
+++ Core/Common/src/Core.Common.Controls.TreeView/TreeNodeGraphicExtensions.cs (.../TreeNodeGraphicExtensions.cs) (revision ac6f0c53e8a567d9bcb460b5a06f78081feaff2c)
@@ -8,9 +8,9 @@
{
public static class TreeNodeGraphicExtensions
{
- private const int DefaultImageWidth = 16;
- private const int DefaultImageHeight = 16;
- private const int SpaceBetweenNodeParts = 2;
+ private const int defaultImageWidth = 16;
+ private const int defaultImageHeight = 16;
+ private const int spaceBetweenNodeParts = 2;
///
/// Checks if the is on the expand button of the node
@@ -25,7 +25,7 @@
}
var yBoundsMiddle = node.Bounds.Top + node.Bounds.Height/2;
- var graphics = ((Control) node.TreeView).CreateGraphics();
+ var graphics = node.TreeView.CreateGraphics();
var buttonSize = GetExpandButtonSize(graphics);
var rectangle = new Rectangle(GetTreeLineLeft(node) - buttonSize/2, yBoundsMiddle - buttonSize/2, buttonSize, buttonSize);
return rectangle.Contains(point);
@@ -43,8 +43,8 @@
return false;
}
- var topOffset = (node.Bounds.Height - DefaultImageHeight)/2;
- var rectangle = new Rectangle(GetCheckBoxLeft(node), node.Bounds.Top + topOffset, DefaultImageWidth, DefaultImageHeight);
+ var topOffset = (node.Bounds.Height - defaultImageHeight)/2;
+ var rectangle = new Rectangle(GetCheckBoxLeft(node), node.Bounds.Top + topOffset, defaultImageWidth, defaultImageHeight);
return rectangle.Contains(point);
}
@@ -149,7 +149,7 @@
}
if (node.Parent != null || node.HasChildren)
{
- graphics.DrawLine(pen, xLine + 1, yBoundsMiddle, GetCheckBoxLeft(node) - SpaceBetweenNodeParts, yBoundsMiddle); // Horizontal line
+ graphics.DrawLine(pen, xLine + 1, yBoundsMiddle, GetCheckBoxLeft(node) - spaceBetweenNodeParts, yBoundsMiddle); // Horizontal line
}
// draw parent lines
@@ -218,7 +218,7 @@
}
var bounds = node.Bounds;
- var treeView = (TreeView) node.TreeView;
+ var treeView = node.TreeView;
var foreColor = (selected && treeView.Focused)
? SystemColors.HighlightText
: (node.ForeColor != Color.Empty) ? node.ForeColor : treeView.ForeColor;
@@ -254,12 +254,12 @@
return;
}
- var topOffset = (node.Bounds.Height - DefaultImageHeight)/2;
- var imgRect = new Rectangle(GetCheckBoxLeft(node), node.Bounds.Top + topOffset, DefaultImageWidth, DefaultImageHeight);
+ var topOffset = (node.Bounds.Height - defaultImageHeight)/2;
+ var imgRect = new Rectangle(GetCheckBoxLeft(node), node.Bounds.Top + topOffset, defaultImageWidth, defaultImageHeight);
if (Application.RenderWithVisualStyles)
{
- var point = new Point(imgRect.Left + SpaceBetweenNodeParts, imgRect.Top + 2);
+ var point = new Point(imgRect.Left + spaceBetweenNodeParts, imgRect.Top + 2);
CheckBoxRenderer.DrawCheckBox(graphics, point,
node.Checked
? CheckBoxState.CheckedNormal
@@ -287,32 +287,32 @@
}
var graphicsUnit = GraphicsUnit.Pixel;
- var topOffset = (node.Bounds.Height - DefaultImageHeight)/2;
- var imgRect = new Rectangle(GetImageLeft(node), node.Bounds.Top + topOffset, DefaultImageWidth, DefaultImageHeight);
+ var topOffset = (node.Bounds.Height - defaultImageHeight)/2;
+ var imgRect = new Rectangle(GetImageLeft(node), node.Bounds.Top + topOffset, defaultImageWidth, defaultImageHeight);
graphics.DrawImage(node.Image, imgRect, node.Image.GetBounds(ref graphicsUnit), graphicsUnit);
}
private static int GetTreeLineLeft(TreeNode node)
{
- return GetCheckBoxLeft(node) - DefaultImageWidth + 3;
+ return GetCheckBoxLeft(node) - defaultImageWidth + 3;
}
private static int GetCheckBoxLeft(TreeNode node)
{
- return node.Bounds.Left - (DefaultImageWidth + SpaceBetweenNodeParts);
+ return node.Bounds.Left - (defaultImageWidth + spaceBetweenNodeParts);
}
private static int GetImageLeft(TreeNode node)
{
var xCheckBox = GetCheckBoxLeft(node);
- return node.ShowCheckBox ? xCheckBox + DefaultImageWidth + SpaceBetweenNodeParts : xCheckBox;
+ return node.ShowCheckBox ? xCheckBox + defaultImageWidth + spaceBetweenNodeParts : xCheckBox;
}
private static int GetTextLeft(TreeNode node)
{
var xImage = GetImageLeft(node);
- return node.Image != null ? xImage + DefaultImageWidth + SpaceBetweenNodeParts : xImage;
+ return node.Image != null ? xImage + defaultImageWidth + spaceBetweenNodeParts : xImage;
}
private static TreeNode GetNextNodeSameLevel(TreeNode node)
Index: Core/Common/src/Core.Common.Controls.TreeView/TreeNodeList.cs
===================================================================
diff -u -rb326158bd228dc407858ba620a437a175baf0190 -rac6f0c53e8a567d9bcb460b5a06f78081feaff2c
--- Core/Common/src/Core.Common.Controls.TreeView/TreeNodeList.cs (.../TreeNodeList.cs) (revision b326158bd228dc407858ba620a437a175baf0190)
+++ Core/Common/src/Core.Common.Controls.TreeView/TreeNodeList.cs (.../TreeNodeList.cs) (revision ac6f0c53e8a567d9bcb460b5a06f78081feaff2c)
@@ -1,6 +1,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
+using System.Linq;
using System.Windows.Forms;
using Core.Common.Controls.TreeView.Properties;
@@ -84,12 +85,16 @@
private IList GetAllNodes(TreeNode treeNode)
{
- var thisAndChildren = new List();
- thisAndChildren.Add(treeNode);
+ var thisAndChildren = new List
+ {
+ treeNode
+ };
+
foreach (var node in treeNode.Nodes)
{
thisAndChildren.AddRange(GetAllNodes(node));
}
+
return thisAndChildren;
}
@@ -135,11 +140,8 @@
public IEnumerator GetEnumerator()
{
- //wrap TreeNodeCollection so it returns the right enumerator variable
- foreach (TreeNode node in nodes)
- {
- yield return node;
- }
+ // Wrap TreeNodeCollection so it returns the right enumerator variable
+ return nodes.Cast().GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
Index: Core/Common/src/Core.Common.Controls.TreeView/TreeView.cs
===================================================================
diff -u -rcc570ccd4f17971ce651ead28207aae3399919d1 -rac6f0c53e8a567d9bcb460b5a06f78081feaff2c
--- Core/Common/src/Core.Common.Controls.TreeView/TreeView.cs (.../TreeView.cs) (revision cc570ccd4f17971ce651ead28207aae3399919d1)
+++ Core/Common/src/Core.Common.Controls.TreeView/TreeView.cs (.../TreeView.cs) (revision ac6f0c53e8a567d9bcb460b5a06f78081feaff2c)
@@ -237,9 +237,9 @@
return new TreeNode(this);
}
- public TreeNode AddNewNode(TreeNode parentNode, object nodeData, int insertionIndex = -1)
+ public void AddNewNode(TreeNode parentNode, object nodeData, int insertionIndex = -1)
{
- return controller.AddNewNode(parentNode, nodeData, insertionIndex);
+ controller.AddNewNode(parentNode, nodeData, insertionIndex);
}
///
@@ -367,7 +367,7 @@
}
}
- public IEnumerable GetAllLoadedNodes(TreeNode currentNode)
+ private IEnumerable GetAllLoadedNodes(TreeNode currentNode)
{
var allChildNodes = new[]
{
@@ -383,14 +383,18 @@
{
if (GetStyle(ControlStyles.UserPaint))
{
- Message m = new Message();
- m.HWnd = Handle;
- m.Msg = NativeInterop.WM_PRINTCLIENT;
- m.WParam = e.Graphics.GetHdc();
- m.LParam = (IntPtr) NativeInterop.PRF_CLIENT;
+ Message m = new Message
+ {
+ HWnd = Handle,
+ Msg = NativeInterop.WM_PRINTCLIENT,
+ WParam = e.Graphics.GetHdc(),
+ LParam = (IntPtr) NativeInterop.PRF_CLIENT
+ };
+
DefWndProc(ref m);
e.Graphics.ReleaseHdc(m.WParam);
}
+
base.OnPaint(e);
}
Index: Core/Common/src/Core.Common.Controls.TreeView/TreeViewController.cs
===================================================================
diff -u -rd7da4fd9051547085f0cbbec790eda9cb8ca7f14 -rac6f0c53e8a567d9bcb460b5a06f78081feaff2c
--- Core/Common/src/Core.Common.Controls.TreeView/TreeViewController.cs (.../TreeViewController.cs) (revision d7da4fd9051547085f0cbbec790eda9cb8ca7f14)
+++ Core/Common/src/Core.Common.Controls.TreeView/TreeViewController.cs (.../TreeViewController.cs) (revision ac6f0c53e8a567d9bcb460b5a06f78081feaff2c)
@@ -248,7 +248,7 @@
}
}
- public TreeNode AddNewNode(TreeNode parentNode, object nodeData, int insertionIndex = -1)
+ public void AddNewNode(TreeNode parentNode, object nodeData, int insertionIndex = -1)
{
var newNode = treeView.NewNode();
@@ -274,7 +274,6 @@
}
newNode.HasChildren = HasChildren(newNode);
- return newNode;
}
///
Index: Core/Common/src/Core.Common.Controls.TreeView/TreeViewNodePresenterBase.cs
===================================================================
diff -u -rd7da4fd9051547085f0cbbec790eda9cb8ca7f14 -rac6f0c53e8a567d9bcb460b5a06f78081feaff2c
--- Core/Common/src/Core.Common.Controls.TreeView/TreeViewNodePresenterBase.cs (.../TreeViewNodePresenterBase.cs) (revision d7da4fd9051547085f0cbbec790eda9cb8ca7f14)
+++ Core/Common/src/Core.Common.Controls.TreeView/TreeViewNodePresenterBase.cs (.../TreeViewNodePresenterBase.cs) (revision ac6f0c53e8a567d9bcb460b5a06f78081feaff2c)
@@ -34,7 +34,7 @@
throw new InvalidOperationException(Resources.TreeViewNodePresenterBase_OnNodeRenamed_OnNodeRenamed_must_be_implemented_in_derived_class);
}
- public static DragOperations GetDefaultDropOperation(DragOperations validOperation)
+ protected static DragOperations GetDefaultDropOperation(DragOperations validOperation)
{
return DragOperations.Move == validOperation ? DragOperations.Move : DragOperations.None;
}
@@ -118,11 +118,6 @@
return CanRemove(data);
}
- public void OnNodeSelected(object nodeData)
- {
- throw new NotImplementedException();
- }
-
public virtual ContextMenuStrip GetContextMenu(TreeNode node, object nodeData)
{
return null;
@@ -232,7 +227,7 @@
///
///
///
- protected virtual void OnCollectionChanged(T childNodeData, TreeNode parentNode, NotifyCollectionChangeEventArgs e, int newNodeIndex)
+ private void OnCollectionChanged(T childNodeData, TreeNode parentNode, NotifyCollectionChangeEventArgs e, int newNodeIndex)
{
switch (e.Action)
{
Index: Core/Common/test/Core.Common.Controls.TreeView.Test/TreeViewTest.cs
===================================================================
diff -u -r757ac958da1c3c60d1cacca9f515042182c296c1 -rac6f0c53e8a567d9bcb460b5a06f78081feaff2c
--- Core/Common/test/Core.Common.Controls.TreeView.Test/TreeViewTest.cs (.../TreeViewTest.cs) (revision 757ac958da1c3c60d1cacca9f515042182c296c1)
+++ Core/Common/test/Core.Common.Controls.TreeView.Test/TreeViewTest.cs (.../TreeViewTest.cs) (revision ac6f0c53e8a567d9bcb460b5a06f78081feaff2c)
@@ -7,7 +7,7 @@
using System.Windows.Forms;
using Core.Common.Base;
using Core.Common.TestUtil;
-
+using Core.Common.Utils.Reflection;
using NUnit.Extensions.Forms;
using NUnit.Framework;
using Rhino.Mocks;
@@ -565,12 +565,12 @@
public MockTestNode(TreeView treeView, bool loaded)
: base(treeView)
{
- isLoaded = loaded;
+ SetLoaded(loaded);
}
public void SetLoaded(bool value)
{
- isLoaded = value;
+ TypeUtils.SetField(this, "isLoaded", value);
}
}
}