| using System; | |
| using System.Collections.Generic; | |
| using System.ComponentModel; | |
| using System.Linq; | |
| using System.Text; | |
| using System.Threading.Tasks; | |
| namespace LLVM.ClangTidy | |
| { | |
| /// <summary> | |
| /// A decorator of sorts. Accepts a PropertyDescriptor to its constructor | |
| /// and forwards all calls to the underlying PropertyDescriptor. In this way | |
| /// we can inherit from ForwardingPropertyDescriptor and override only the | |
| /// few methods we need to customize the behavior of, while allowing the | |
| /// underlying PropertyDescriptor to do the real work. | |
| /// </summary> | |
| public abstract class ForwardingPropertyDescriptor : PropertyDescriptor | |
| { | |
| private readonly PropertyDescriptor root; | |
| protected PropertyDescriptor Root { get { return root; } } | |
| protected ForwardingPropertyDescriptor(PropertyDescriptor root) | |
| : base(root) | |
| { | |
| this.root = root; | |
| } | |
| public override void AddValueChanged(object component, EventHandler handler) | |
| { | |
| root.AddValueChanged(component, handler); | |
| } | |
| public override AttributeCollection Attributes | |
| { | |
| get | |
| { | |
| return root.Attributes; | |
| } | |
| } | |
| public override bool CanResetValue(object component) | |
| { | |
| return root.CanResetValue(component); | |
| } | |
| public override string Category | |
| { | |
| get | |
| { | |
| return root.Category; | |
| } | |
| } | |
| public override Type ComponentType | |
| { | |
| get | |
| { | |
| return root.ComponentType; | |
| } | |
| } | |
| public override TypeConverter Converter | |
| { | |
| get | |
| { | |
| return root.Converter; | |
| } | |
| } | |
| public override string Description | |
| { | |
| get | |
| { | |
| return root.Description; | |
| } | |
| } | |
| public override bool DesignTimeOnly | |
| { | |
| get | |
| { | |
| return root.DesignTimeOnly; | |
| } | |
| } | |
| public override string DisplayName | |
| { | |
| get | |
| { | |
| return root.DisplayName; | |
| } | |
| } | |
| public override bool Equals(object obj) | |
| { | |
| return root.Equals(obj); | |
| } | |
| public override PropertyDescriptorCollection GetChildProperties(object instance, Attribute[] filter) | |
| { | |
| return root.GetChildProperties(instance, filter); | |
| } | |
| public override object GetEditor(Type editorBaseType) | |
| { | |
| return root.GetEditor(editorBaseType); | |
| } | |
| public override int GetHashCode() | |
| { | |
| return root.GetHashCode(); | |
| } | |
| public override object GetValue(object component) | |
| { | |
| return root.GetValue(component); | |
| } | |
| public override bool IsBrowsable | |
| { | |
| get | |
| { | |
| return root.IsBrowsable; | |
| } | |
| } | |
| public override bool IsLocalizable | |
| { | |
| get | |
| { | |
| return root.IsLocalizable; | |
| } | |
| } | |
| public override bool IsReadOnly | |
| { | |
| get | |
| { | |
| return root.IsReadOnly; | |
| } | |
| } | |
| public override string Name | |
| { | |
| get | |
| { | |
| return root.Name; | |
| } | |
| } | |
| public override Type PropertyType | |
| { | |
| get | |
| { | |
| return root.PropertyType; | |
| } | |
| } | |
| public override void RemoveValueChanged(object component, EventHandler handler) | |
| { | |
| root.RemoveValueChanged(component, handler); | |
| } | |
| public override void ResetValue(object component) | |
| { | |
| root.ResetValue(component); | |
| } | |
| public override void SetValue(object component, object value) | |
| { | |
| root.SetValue(component, value); | |
| } | |
| public override bool ShouldSerializeValue(object component) | |
| { | |
| return root.ShouldSerializeValue(component); | |
| } | |
| public override bool SupportsChangeEvents | |
| { | |
| get | |
| { | |
| return root.SupportsChangeEvents; | |
| } | |
| } | |
| public override string ToString() | |
| { | |
| return root.ToString(); | |
| } | |
| } | |
| } |