Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }