External/Aga.Controls/Tree/NodeControls/InteractiveControl.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.
moel@345
     1
using System;
moel@345
     2
using System.Collections.Generic;
moel@345
     3
using System.Text;
moel@345
     4
using System.ComponentModel;
moel@345
     5
moel@345
     6
namespace Aga.Controls.Tree.NodeControls
moel@345
     7
{
moel@345
     8
	public abstract class InteractiveControl : BindableControl
moel@345
     9
	{
moel@345
    10
		private bool _editEnabled = false;
moel@345
    11
		[DefaultValue(false)]
moel@345
    12
		public bool EditEnabled
moel@345
    13
		{
moel@345
    14
			get { return _editEnabled; }
moel@345
    15
			set { _editEnabled = value; }
moel@345
    16
		}
moel@345
    17
moel@345
    18
		protected bool IsEditEnabled(TreeNodeAdv node)
moel@345
    19
		{
moel@345
    20
			if (EditEnabled)
moel@345
    21
			{
moel@345
    22
				NodeControlValueEventArgs args = new NodeControlValueEventArgs(node);
moel@345
    23
				args.Value = true;
moel@345
    24
				OnIsEditEnabledValueNeeded(args);
moel@345
    25
				return Convert.ToBoolean(args.Value);
moel@345
    26
			}
moel@345
    27
			else
moel@345
    28
				return false;
moel@345
    29
		}
moel@345
    30
moel@345
    31
		public event EventHandler<NodeControlValueEventArgs> IsEditEnabledValueNeeded;
moel@345
    32
		private void OnIsEditEnabledValueNeeded(NodeControlValueEventArgs args)
moel@345
    33
		{
moel@345
    34
			if (IsEditEnabledValueNeeded != null)
moel@345
    35
				IsEditEnabledValueNeeded(this, args);
moel@345
    36
		}
moel@345
    37
	}
moel@345
    38
}