예제 #1
0
        public ExpandedDictionaryGroup(IDictionary obj)
        {
            AddToClassList("expandedArrayGroup");

            var i = 0;

            foreach (var key in obj.Keys)
            {
                if (i > Config.ShowMaxCollapsedArrayItems)
                {
                    break;
                }

                var propertyLabel = new ProperyTypeLabel(key);
                var fieldValue    = new TypeInspector(obj[key], new ViewContext {
                    Mode = ViewMode.Default
                });

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

                Add(propertyValueGroup);

                i++;
            }

            if (i > Config.ShowMaxCollapsedArrayItems)
            {
                var expander = new Span("(...)");
                Add(expander);
            }
        }
        public CollapsedArrayGroup(IEnumerable obj)
        {
            AddToClassList("collapsedArrayGroup");

            Add(new Span("["));

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

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

            int i = 0;

            foreach (var item in items)
            {
                if (i != 0)
                {
                    Add(new Span(", "));
                }

                var fieldValue = new TypeInspector(item, new ViewContext {
                    Mode = ViewMode.Value
                });
                Add(fieldValue);
                i++;
            }

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

            Add(new Span("]"));
        }
예제 #3
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);
        }
예제 #4
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);
            }
        }
        public ProperyTypeLabel(object property)
        {
            AddToClassList("propertyLabelGroup");

            var propertLabel = new TypeInspector(property, new ViewContext {
                Mode = ViewMode.Value
            });

            propertLabel.AddToClassList("propertyLabel");
            Add(propertLabel);
            Add(new Span(": "));
        }
        public CollapsedDictionaryGroup(IDictionary obj)
        {
            AddToClassList("collapsedArrayGroup");

            Add(new Span("{"));

            int i = 0;

            foreach (var key in obj.Keys)
            {
                if (i > Config.ShowMaxCollapsedArrayItems)
                {
                    break;
                }
                if (i != 0)
                {
                    Add(new Span(", "));
                }

                var container     = new Container("propertyValueGroup");
                var propertyValue = new TypeInspector(key, new ViewContext {
                    Mode = ViewMode.Value
                });
                container.Add(propertyValue);
                container.Add(new Span(": "));
                var fieldValue = new TypeInspector(obj[key], new ViewContext {
                    Mode = ViewMode.Value
                });
                container.Add(fieldValue);

                Add(container);

                i++;
            }

            if (i > Config.ShowMaxCollapsedArrayItems)
            {
                var expander = new Span(", (...)");
                Add(expander);
            }

            Add(new Span("}"));
        }