protected override void DrawLabel(GUIContent label, bool isAppendedToHorizontal, ref bool hasVerticalOutline, IDrawContext context) { base.DrawLabel(label, isAppendedToHorizontal, ref hasVerticalOutline, context); var value = (string)Value ?? string.Empty; bool hasLineEnds = value.Contains("\n"); bool expanded = _expanded || hasLineEnds; if (expanded) { GUILayout.FlexibleSpace(); context.BeginEnabled(!hasLineEnds); if (GUILayout.Button("↑", GUILayout.Width(20f)) && !hasLineEnds) { _expanded = false; } context.EndEnabled(); } }