|
#region Using Statements
#region .NET Namespace
using System;
using System.Drawing;
#endregion
#endregion
namespace AddressBarExt
{
/// <summary>
/// Interface for a traversable node used in the AddressBarExt control.
///
/// Author : James Strain
/// Email : leon_STARS@hotmail.com
/// Tested Platforms : Windows Vista Ultimate x64 / WinXP Pro 32-bit
///
/// Additional Work Needed :
///
/// None that I am aware of...
///
/// </summary>
public interface IAddressNode
{
/// <summary>
/// Gets/Sets the parent of this node
/// </summary>
IAddressNode Parent
{
get;
set;
}
/// <summary>
/// Gets/Sets the Display name of this node
/// </summary>
String DisplayName
{
get;
set;
}
/// <summary>
/// Gets the Icon that represents this node type.
/// </summary>
Icon Icon
{
get;
}
/// <summary>
/// Gets the Unique ID for this node
/// </summary>
Object UniqueID
{
get;
}
/// <summary>
/// Gets/Sets any user defined extra data for this node
/// </summary>
Object Tag
{
get;
set;
}
/// <summary>
/// Gets an array of Child Nodes
/// </summary>
IAddressNode[] Children
{
get;
}
/// <summary>
/// Method that updates this node to gather all relevant detail.
/// </summary>
void UpdateNode();
/// <summary>
/// Returns a given child, based on a unique ID
/// </summary>
/// <param name="uniqueID">Unique ID to identify the child</param>
/// <param name="recursive">Indicates if the search should recurse through childrens children..</param>
/// <returns>Returns the child node</returns>
IAddressNode GetChild(object uniqueID, bool recursive);
/// <summary>
/// Clones a node.
/// </summary>
/// <returns>Clone of this node.</returns>
IAddressNode Clone();
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.