protected override PropertyEditor AutoCreateMemberEditor(MemberInfo info) { if (ReflectionHelper.MemberInfoEquals(info, ReflectionInfo.Property_DrawTechnique_PreferredVertexFormat)) { ObjectSelectorPropertyEditor e = new ObjectSelectorPropertyEditor(); e.EditedType = (info as PropertyInfo).PropertyType; e.Items = DrawTechnique.VertexTypeIndices.Select(pair => new ObjectItem(pair.Value, pair.Key)); this.ParentGrid.ConfigureEditor(e); return e; } return base.AutoCreateMemberEditor(info); }
protected override PropertyEditor AutoCreateMemberEditor(MemberInfo info) { if (ReflectionHelper.MemberInfoEquals(info, ReflectionInfo.Property_Font_Family)) { ObjectSelectorPropertyEditor e = new ObjectSelectorPropertyEditor(); e.EditedType = (info as System.Reflection.PropertyInfo).PropertyType; e.Items = System.Drawing.FontFamily.Families.Select(f => new ObjectItem(f.Name, f.Name)); this.ParentGrid.ConfigureEditor(e); return e; } return base.AutoCreateMemberEditor(info); }
protected override PropertyEditor AutoCreateMemberEditor(MemberInfo info) { if (info.IsEquivalent(ReflectionInfo.Property_DrawTechnique_PreferredVertexFormat)) { List<VertexDeclaration> vertexTypes = new List<VertexDeclaration>(); vertexTypes.Add(null); foreach (TypeInfo vertexType in DualityApp.GetAvailDualityTypes(typeof(IVertexData))) { if (vertexType.IsClass) continue; if (vertexType.IsAbstract) continue; if (vertexType.IsInterface) continue; IVertexData vertex = vertexType.CreateInstanceOf() as IVertexData; vertexTypes.Add(vertex.Declaration); } ObjectSelectorPropertyEditor e = new ObjectSelectorPropertyEditor(); e.EditedType = (info as PropertyInfo).PropertyType; e.Items = vertexTypes.Select(decl => new ObjectItem(decl, decl != null ? decl.DataType.Name : "None")); this.ParentGrid.ConfigureEditor(e); return e; } return base.AutoCreateMemberEditor(info); }