Files
LuaCsForBarotraumaEP/Hyper.ComponentModel/ChainingPropertyDescriptor.cs

146 lines
3.4 KiB
C#

namespace Hyper.ComponentModel
{
using System;
using System.ComponentModel;
public abstract class ChainingPropertyDescriptor : PropertyDescriptor
{
private readonly PropertyDescriptor _root;
protected PropertyDescriptor Root
{
get { return _root; }
}
protected ChainingPropertyDescriptor(PropertyDescriptor root)
: base(root)
{
_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();
}
}
}