Example #1
0
        public PropertyValueGroup(PropertyInfo property, ViewContext context)
        {
            AddToClassList("propertyValueGroup");
            if (property.IsPrivate)
            {
                AddToClassList("private");
                RegisterCallback <TooltipEvent>(e => {
                    e.rect    = worldBound;
                    e.tooltip = string.Format("Property {0} is private.", property.Field.Name);
                    e.StopImmediatePropagation();
                });
            }

            // These generate exception with a Type. So skip until I know why
            if (property.GeneratesExceptions)
            {
                return;
            }

            var propertyLabel = new ProperyLabel(property.Label);
            var fieldValue    = new TypeInspector(property.Value, context);

            Add(propertyLabel);
            Add(fieldValue);
        }
Example #2
0
        public ExpandedArrayGroup(object obj)
        {
            AddToClassList("expandedArrayGroup");

            var objects = ((IEnumerable)obj).Cast <object>().ToArray();

            bool isClipped = objects.Length > Config.ShowMaxArrayProperties;
            var  items     = objects.Take(Config.ShowMaxBlockProperties).ToList();

            var i = 0;

            foreach (var item in items)
            {
                var propertyLabel = new ProperyLabel(i.ToString());        // Index
                var fieldValue    = new TypeInspector(item, new ViewContext()
                {
                    Mode = ViewMode.Default
                });

                var propertyValueGroup = new VisualElement();
                propertyValueGroup.AddToClassList("propertyValueGroup");
                propertyValueGroup.Add(propertyLabel);
                propertyValueGroup.Add(fieldValue);

                Add(propertyValueGroup);

                i++;
            }

            if (isClipped)
            {
                var expander = new Span("(...)");
                Add(expander);
            }
        }