External/Aga.Controls/Tree/NodeControls/InteractiveControl.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
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
}