/// <summary> /// Gets a renderer from a field/method info. Will look first for the renderer type specified in the field info attribute. If it was not specified, will look for /// the default renderer for this field/meothod info. /// </summary> /// <returns>The renderer generated from the entity info.</returns> /// <param name="entityInfo">Entity info.</param> /// <param name="caller">The object from which the method should be called if entity info is wrapping a methodInfo.</param> static private InspectorItemRenderer GetRendererFromEntityInfo(EntityInfo entityInfo) { InspectorItemRenderer renderer = null; InspectorAttribute inspectorAttribute = AttributeHelper.GetAttribute <InspectorAttribute> (entityInfo); if (inspectorAttribute != null) { if (inspectorAttribute.rendererType != null) { Type renderClassType = Type.GetType("EasyEditor." + inspectorAttribute.rendererType); renderer = InspectorItemRenderer.GetSpecifiedRendererFromEntityInfo(entityInfo, renderClassType); } else { renderer = InspectorItemRenderer.GetDefaultRendererFromEntityInfo(entityInfo); } } else { if (entityInfo.isField) { renderer = InspectorItemRenderer.GetDefaultRendererFromEntityInfo(entityInfo); } } return(renderer); }
/// <summary> /// Gets a default renderer for the entity info. Called when no type for the renderer was specified in <c>InspectorAttribute</c> for example /// </summary> /// <returns>The default renderer for the specified entity info.</returns> /// <param name="entityInfo">The entity info which needs a renderer.</param> /// <param name="caller">The object from which the method should be called if entity info is wrapping a methodInfo.</param> static private InspectorItemRenderer GetDefaultRendererFromEntityInfo(EntityInfo entityInfo) { InspectorItemRenderer renderer = null; Type rendererType = null; if (entityInfo.isMethod) { rendererType = Type.GetType("EasyEditor.ButtonRenderer"); } else if (entityInfo.isField) { rendererType = GetDefaultRendererTypeForField(entityInfo.fieldInfo); } renderer = InspectorItemRenderer.GetSpecifiedRendererFromEntityInfo(entityInfo, rendererType); return(renderer); }