External/Aga.Controls/Tree/TreeModelBase.cs
author moel.mich
Sun, 27 May 2012 15:16:19 +0000
changeset 345 0c551e8818e0
permissions -rw-r--r--
Added the source code of Aga.Controls (TreeViewAdv for .Net) version 1.7.0.0.
moel@345
     1
using System;
moel@345
     2
using System.Collections.Generic;
moel@345
     3
using System.Text;
moel@345
     4
moel@345
     5
namespace Aga.Controls.Tree
moel@345
     6
{
moel@345
     7
	public abstract class TreeModelBase: ITreeModel
moel@345
     8
	{
moel@345
     9
		public abstract System.Collections.IEnumerable GetChildren(TreePath treePath);
moel@345
    10
		public abstract bool IsLeaf(TreePath treePath);
moel@345
    11
moel@345
    12
moel@345
    13
		public event EventHandler<TreeModelEventArgs> NodesChanged;
moel@345
    14
		protected void OnNodesChanged(TreeModelEventArgs args)
moel@345
    15
		{
moel@345
    16
			if (NodesChanged != null)
moel@345
    17
				NodesChanged(this, args);
moel@345
    18
		}
moel@345
    19
moel@345
    20
		public event EventHandler<TreePathEventArgs> StructureChanged;
moel@345
    21
		protected void OnStructureChanged(TreePathEventArgs args)
moel@345
    22
		{
moel@345
    23
			if (StructureChanged != null)
moel@345
    24
				StructureChanged(this, args);
moel@345
    25
		}
moel@345
    26
moel@345
    27
		public event EventHandler<TreeModelEventArgs> NodesInserted;
moel@345
    28
		protected void OnNodesInserted(TreeModelEventArgs args)
moel@345
    29
		{
moel@345
    30
			if (NodesInserted != null)
moel@345
    31
				NodesInserted(this, args);
moel@345
    32
		}
moel@345
    33
moel@345
    34
		public event EventHandler<TreeModelEventArgs> NodesRemoved;
moel@345
    35
		protected void OnNodesRemoved(TreeModelEventArgs args)
moel@345
    36
		{
moel@345
    37
			if (NodesRemoved != null)
moel@345
    38
				NodesRemoved(this, args);
moel@345
    39
		}
moel@345
    40
moel@345
    41
		public virtual void Refresh()
moel@345
    42
		{
moel@345
    43
			OnStructureChanged(new TreePathEventArgs(TreePath.Empty));
moel@345
    44
		}
moel@345
    45
	}
moel@345
    46
}