private PropertyEditorInformation GetTypeEditorInfo(XenType xenType)
        {
            var match = PropertyEditors
                        .FirstOrDefault(info =>
            {
                var typeMatch = info.DesignTypeName == xenType.FullName;
                if (typeMatch)
                {
                    return(true);
                }

                var desc = xenType.Descriptor;
                if (desc.HasFlag(XenPropertyDescriptors.Literals) && !desc.HasFlag(XenPropertyDescriptors.ValueType))
                {
                    if (info.DesignTypeName.Equals(typeof(Enum).FullName))
                    {
                        return(true);
                    }
                }

                return(false);
            });

            return(match);
        }
Exemplo n.º 2
0
        public bool AddType(XenType type)
        {
            if (string.IsNullOrWhiteSpace(type?.FullName))
            {
                return(false);
            }

            return(_instance.Types.Add(type));
        }
Exemplo n.º 3
0
        public void SetPossibleValues(Type type, XenType xenType)
        {
            var entry = GetItem(type);

            xenType.PossibleValues = entry.Generator.Get(type);

            if (xenType.PossibleValues?.Length > 0)
            {
                xenType.Descriptor |= XenPropertyDescriptors.Literals;
            }
        }
Exemplo n.º 4
0
 public ConstructorsReceived(XenType type)
 {
     Type = type;
 }
Exemplo n.º 5
0
 public bool IsRegistered(XenType type)
 {
     return(Types.Contains(type));
 }