private string getReadonlyNodeText(InspectorProperty property) { return($"{property.Name}: {property.Value}"); }
private ITreeStringNode addToTree(InspectorProperty property, ITreeStringNode parent) { if (property.IsReadonly) { return(addReadonlyNodeToTree(property, parent)); } IInspectorPropertyEditor editor; var propType = property.Prop.PropertyType; if (propType == typeof(bool)) { editor = new BoolPropertyEditor(_factory); } else if (propType == typeof(int)) { editor = new NumberPropertyEditor(_factory, true, false); } else if (propType == typeof(float)) { editor = new NumberPropertyEditor(_factory, false, false); } else if (propType == typeof(SizeF)) { editor = new SizeFPropertyEditor(_factory, false); } else if (propType == typeof(Size)) { editor = new SizePropertyEditor(_factory, false); } else if (propType == typeof(PointF)) { editor = new PointFPropertyEditor(_factory, false); } else if (propType == typeof(Point)) { editor = new PointPropertyEditor(_factory, false); } else if (propType == typeof(Vector2)) { editor = new Vector2PropertyEditor(_factory, false); } else if (propType == typeof(ILocation)) { var entity = _currentEntity; var drawable = entity == null ? null : entity.GetComponent <IDrawableInfoComponent>(); editor = new LocationPropertyEditor(_factory, false, _settings, drawable); } else if (propType == typeof(RectangleF)) { editor = new RectangleFPropertyEditor(_factory, false); } else if (propType == typeof(Rectangle)) { editor = new RectanglePropertyEditor(_factory, false); } else if (propType == typeof(int?)) { editor = new NumberPropertyEditor(_factory, true, true); } else if (propType == typeof(float?)) { editor = new NumberPropertyEditor(_factory, false, true); } else if (propType == typeof(SizeF?)) { editor = new SizeFPropertyEditor(_factory, true); } else if (propType == typeof(Size?)) { editor = new SizePropertyEditor(_factory, true); } else if (propType == typeof(PointF?)) { editor = new PointFPropertyEditor(_factory, true); } else if (propType == typeof(Point?)) { editor = new PointPropertyEditor(_factory, true); } else if (propType == typeof(Vector2?)) { editor = new Vector2PropertyEditor(_factory, true); } else if (propType == typeof(RectangleF?)) { editor = new RectangleFPropertyEditor(_factory, true); } else if (propType == typeof(Rectangle?)) { editor = new RectanglePropertyEditor(_factory, true); } else { var typeInfo = propType.GetTypeInfo(); if (typeInfo.IsEnum) { editor = new EnumPropertyEditor(_factory.UI); } else { editor = new StringPropertyEditor(_factory.UI); } } ITreeStringNode node = new InspectorTreeNode(property, editor); return(addToTree(node, parent)); }
private void addToTree(ITreeStringNode parent, InspectorProperty prop) { var node = addToTree(prop, parent); addChildrenToTree(node, prop); }