first commit
This commit is contained in:
68
LibreHardwareMonitor-0.9.4/Aga.Controls/Tree/TreePath.cs
Normal file
68
LibreHardwareMonitor-0.9.4/Aga.Controls/Tree/TreePath.cs
Normal file
@@ -0,0 +1,68 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user