External/Aga.Controls/Tree/TreeModelEventArgs.cs
author sl
Thu, 01 Jan 2015 23:35:49 +0100
changeset 405 5715aefd2bcc
permissions -rw-r--r--
SharpDisplay: Migrating to new robust client scheme.
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Text;
     4 
     5 namespace Aga.Controls.Tree
     6 {
     7 	public class TreeModelEventArgs: TreePathEventArgs
     8 	{
     9 		private object[] _children;
    10 		public object[] Children
    11 		{
    12 			get { return _children; }
    13 		}
    14 
    15 		private int[] _indices;
    16 		public int[] Indices
    17 		{
    18 			get { return _indices; }
    19 		}
    20 
    21 		/// <summary>
    22 		/// 
    23 		/// </summary>
    24 		/// <param name="parent">Path to a parent node</param>
    25 		/// <param name="children">Child nodes</param>
    26 		public TreeModelEventArgs(TreePath parent, object[] children)
    27 			: this(parent, null, children)
    28 		{
    29 		}
    30 
    31 		/// <summary>
    32 		/// 
    33 		/// </summary>
    34 		/// <param name="parent">Path to a parent node</param>
    35 		/// <param name="indices">Indices of children in parent nodes collection</param>
    36 		/// <param name="children">Child nodes</param>
    37 		public TreeModelEventArgs(TreePath parent, int[] indices, object[] children)
    38 			: base(parent)
    39 		{
    40 			if (children == null)
    41 				throw new ArgumentNullException();
    42 
    43 			if (indices != null && indices.Length != children.Length)
    44 				throw new ArgumentException("indices and children arrays must have the same length");
    45 
    46 			_indices = indices;
    47 			_children = children;
    48 		}
    49 	}
    50 }