UnityGame/Library/PackageCache/com.unity.shadergraph/Editor/Drawing/Views/PropertySheet.cs
2024-10-27 10:53:47 +03:00

50 lines
1.5 KiB
C#

using System.Linq;
using UnityEditorInternal;
using UnityEngine;
using UnityEngine.UIElements;
namespace UnityEditor.ShaderGraph.Drawing
{
class PropertySheet : VisualElement
{
VisualElement m_ContentContainer;
VisualElement m_HeaderContainer;
VisualElement m_WarningContainer;
Label m_Header;
public override VisualElement contentContainer
{
get { return m_ContentContainer; }
}
public VisualElement warningContainer => m_WarningContainer;
public VisualElement headerContainer
{
get => m_HeaderContainer;
set
{
var first = m_HeaderContainer.Children().FirstOrDefault();
if (first != null)
first.RemoveFromHierarchy();
m_HeaderContainer.Add(value);
}
}
public PropertySheet(Label header = null)
{
styleSheets.Add(Resources.Load<StyleSheet>("Styles/PropertySheet"));
m_ContentContainer = new VisualElement { name = "content" };
m_HeaderContainer = new VisualElement { name = "header" };
m_WarningContainer = new VisualElement { name = "error" };
m_WarningContainer.Add(new Label(""));
if (header != null)
m_HeaderContainer.Add(header);
m_ContentContainer.Add(m_HeaderContainer);
m_ContentContainer.Add(m_WarningContainer);
hierarchy.Add(m_ContentContainer);
}
}
}