public PropertyDescriptorCollection AddProperty(PropertyDescriptorCollection pdc, string propertyName, Type propertyType, TypeConverter converter, Attribute[] attributes) { List<PropertyDescriptor> properties = new List<PropertyDescriptor>(pdc.Count); for (int i = 0; i < pdc.Count; i++) { PropertyDescriptor pd = pdc[i]; if (pd.Name != propertyName) { properties.Add(pd); } } InstanceSavePropertyDescriptor ppd = new InstanceSavePropertyDescriptor( propertyName, propertyType, attributes); ppd.TypeConverter = converter; properties.Add(ppd); //PropertyDescriptor propertyDescriptor; return new PropertyDescriptorCollection(properties.ToArray()); }
public PropertyDescriptorCollection AddProperty(PropertyDescriptorCollection pdc, string propertyName, Type propertyType, TypeConverter converter, Attribute[] attributes) { List <PropertyDescriptor> properties = new List <PropertyDescriptor>(pdc.Count); for (int i = 0; i < pdc.Count; i++) { PropertyDescriptor pd = pdc[i]; if (pd.Name != propertyName) { properties.Add(pd); } } InstanceSavePropertyDescriptor ppd = new InstanceSavePropertyDescriptor( propertyName, propertyType, attributes); ppd.TypeConverter = converter; properties.Add(ppd); //PropertyDescriptor propertyDescriptor; return(new PropertyDescriptorCollection(properties.ToArray())); }
public InstanceSavePropertyDescriptor AddProperty(List <InstanceSavePropertyDescriptor> pdc, string propertyName, Type propertyType, TypeConverter converter, Attribute[] attributes) { InstanceSavePropertyDescriptor newProperty = new InstanceSavePropertyDescriptor( propertyName, propertyType, attributes); newProperty.TypeConverter = converter; pdc.Add(newProperty); return(newProperty); }
public StateReferencingInstanceMember(InstanceSavePropertyDescriptor ispd, StateSave stateSave, string variableName, InstanceSave instanceSave, ElementSave elementSave) : base(variableName, stateSave) { mInstanceSave = instanceSave; mStateSave = stateSave; mVariableName = variableName; mPropertyDescriptor = ispd; mElementSave = elementSave; this.CustomGetEvent += GetEvent; this.CustomSetEvent += SetEvent; this.CustomGetTypeEvent += GetTypeEvent; this.SortValue = int.MaxValue; if (instanceSave != null) { this.Instance = instanceSave; } else { this.Instance = elementSave; } DisplayName = RootVariableName; TryAddExposeVariableMenuOptions(instanceSave); // This could be slow since we have to check it for every variable in an object. // Maybe we'll want to pass this in to the function? StandardElementSave standardElement = null; if (instanceSave != null) { standardElement = ObjectFinder.Self.GetRootStandardElementSave(instanceSave); } else { standardElement = ObjectFinder.Self.GetRootStandardElementSave(elementSave); } VariableSave standardVariable = null; if (standardElement != null) { standardVariable = standardElement.DefaultState.Variables.FirstOrDefault(item => item.Name == RootVariableName); } if (standardVariable != null) { this.SortValue = standardVariable.DesiredOrder; } }