using System; using System.ComponentModel; namespace Aga.Controls.Tree.NodeControls { public abstract class InteractiveControl : BindableControl { private bool _editEnabled = true; [DefaultValue(true)] public bool EditEnabled { get { return _editEnabled; } set { _editEnabled = value; } } protected bool IsEditEnabled(TreeNodeAdv node) { if (EditEnabled) { NodeControlValueEventArgs args = new NodeControlValueEventArgs(node) { Value = true }; OnIsEditEnabledValueNeeded(args); return (bool)args.Value; } return false; } public event EventHandler IsEditEnabledValueNeeded; private void OnIsEditEnabledValueNeeded(NodeControlValueEventArgs args) { if (IsEditEnabledValueNeeded != null) IsEditEnabledValueNeeded(this, args); } } }