using System;
using System.Text;
using System.Collections.ObjectModel;
namespace Aga.Controls.Tree{
public class TreePath
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
public static readonly TreePath Empty = new TreePath();
private object[] _path;
public object[] FullPath
{
get { return _path; }
}
public object LastNode
{
get
{
if (_path.Length > 0)
return _path[_path.Length - 1];
else
return null;
}
}
public object FirstNode
{
get
{
if (_path.Length > 0)
return _path[0];
else
return null;
}
}
public TreePath()
{
_path = new object[0];
}
public TreePath(object node)
{
_path = new object[] { node };
}
public TreePath(object[] path)
{
_path = path;
}
public TreePath(TreePath parent, object node)
{
_path = new object[parent.FullPath.Length + 1];
for (int i = 0; i < _path.Length - 1; i++)
_path[i] = parent.FullPath[i];
_path[_path.Length - 1] = node;
}
public bool IsEmpty()
{
return (_path.Length == 0);
}
}
}
|