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 } }