External/Aga.Controls/Tree/TreeModelBase.cs
author StephaneLenclud
Sun, 03 Feb 2013 18:01:50 +0100
branchMiniDisplay
changeset 433 090259cfd699
permissions -rw-r--r--
Adding SoundGraphDisplay and SensorFrontView classes.
They were respectively based on SystemTray and SensorNotifyIcon.
SoundGraphDisplay is now able to load iMONDisplay.dll providing it lives on your PATH.
Adding option to sensor context menu for adding it into FrontView.
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
}