Example #1
0
        private static IValueEditorFactory SelectProperFactory(IValueProvider p)
        {
            var candidates = Factories.Where(f => f.SupportsValue(p)).OrderBy(f => f.LoadOrder);
            var candidate  = candidates.FirstOrDefault();
            var attribute  = p.GetAttribute <PropertyGridPreferredEditorAttribute>();

            if (attribute != null && !attribute.EditorTypeName.IsEmpty())
            {
                var substringCandidates = candidates.Where(f => f.GetType().Name.Contains(attribute.EditorTypeName));
                if (substringCandidates.Count() > 0)
                {
                    candidate = substringCandidates.First();
                }
            }
            return(candidate);
        }
        void AddResult(IValueProvider value)
        {
            if (value.GetAttribute <PropertyGridDisallowMultiEditAttribute>() != null)
            {
                return;
            }
            var signature = GetSignature(value);

            CompositeValueProvider bucket;

            if (results.TryGetValue(signature, out bucket))
            {
                bucket.Add(value);
            }
            else
            {
                results.Add(signature, new CompositeValueProvider(value));
            }
        }
Example #3
0
 public override bool SupportsValue(IValueProvider value)
 {
     return(base.SupportsValue(value) && value.GetAttribute <DomainAttribute>() != null);
 }
Example #4
0
        void AddResult(IValueProvider value)
        {
            if (value.GetAttribute<PropertyGridDisallowMultiEditAttribute>() != null)
            {
                return;
            }
            var signature = GetSignature(value);

            CompositeValueProvider bucket;
            if (results.TryGetValue(signature, out bucket))
            {
                bucket.Add(value);
            }
            else
            {
                results.Add(signature, new CompositeValueProvider(value));
            }
        }