public float GetHeight(float width, GUIContent label)
        {
            if (widthMode == WidthMode.Thin)
            {
                width = Inspector.WidthWithoutLabel(metadata, width, label);
            }
            else if (widthMode == WidthMode.Edge)
            {
                width = LudiqGUIUtility.currentInspectorWidthWithoutScrollbar;
            }

            itemWidth = width - 52; // Approximation of handle + remove button

            var height = 0f;

            if (widthMode != WidthMode.Thin && label != GUIContent.none)
            {
                height += GetTitleHeight(width, label);
            }

            height += listControl.CalculateListHeight(this);
            height -= 10; // Remove default bottom padding

            if (widthMode == WidthMode.Thin)
            {
                height = Inspector.HeightWithLabel(metadata, width, height, label);
            }

            return(height);
        }
        public float GetControlHeight(float width)
        {
            itemWidth = width - HandlesWidth;

            var height = 0f;

            height += listControl.CalculateListHeight(this);
            height -= DefaultBottomPadding;

            return(height);
        }
        public override float GetPropertyHeight(ReflectedProperty property)
        {
            float height = EditorGUIUtility.singleLineHeight;

            if (property.IsExpanded)
            {
                height += listControl != null?listControl.CalculateListHeight(adapter) : 0;
            }
            return(height);
        }