using System.Linq; using UnityEngine; using UnityEngine.UIElements; namespace UnityEditor.ShaderGraph.Drawing { class PropertyRow : VisualElement { VisualElement m_ContentContainer; VisualElement m_LabelContainer; public override VisualElement contentContainer { get { return m_ContentContainer; } } public VisualElement label { get { return (m_LabelContainer.childCount > 0)?m_LabelContainer[0]:null; } set { if(m_LabelContainer.childCount > 0) { m_LabelContainer.Clear(); } m_LabelContainer.Add(value); } } public PropertyRow(VisualElement label = null) { styleSheets.Add(Resources.Load("Styles/PropertyRow")); VisualElement container = new VisualElement {name = "container"}; m_ContentContainer = new VisualElement { name = "content" }; m_LabelContainer = new VisualElement {name = "label" }; m_LabelContainer.Add(label); container.Add(m_LabelContainer); container.Add(m_ContentContainer); hierarchy.Add(container); } } }