using System;
using System.Collections.Generic;
using System.Text;
namespace Aga.Controls.Tree
{
///
/// Converts IEnumerable interface to ITreeModel.
/// Allows to display a plain list in the TreeView
///
public class TreeListAdapter : ITreeModel
{
private System.Collections.IEnumerable _list;
public TreeListAdapter(System.Collections.IEnumerable list)
{
_list = list;
}
#region ITreeModel Members
public System.Collections.IEnumerable GetChildren(TreePath treePath)
{
if (treePath.IsEmpty())
return _list;
else
return null;
}
public bool IsLeaf(TreePath treePath)
{
return true;
}
public event EventHandler NodesChanged;
public void OnNodesChanged(TreeModelEventArgs args)
{
if (NodesChanged != null)
NodesChanged(this, args);
}
public event EventHandler StructureChanged;
public void OnStructureChanged(TreePathEventArgs args)
{
if (StructureChanged != null)
StructureChanged(this, args);
}
public event EventHandler NodesInserted;
public void OnNodeInserted(TreeModelEventArgs args)
{
if (NodesInserted != null)
NodesInserted(this, args);
}
public event EventHandler NodesRemoved;
public void OnNodeRemoved(TreeModelEventArgs args)
{
if (NodesRemoved != null)
NodesRemoved(this, args);
}
#endregion
}
}