Esempio n. 1
0
        /// <inheritdoc />
        protected override void BuildElementUI()
        {
            base.BuildElementUI();

            var header = new VisualElement {
                name = "row-header"
            };

            header.AddToClassList(headerUssClassName);

            m_CollapseButton = new CollapseButton();
            m_CollapseButton.AddToClassList(collapseButtonUssClassName);
            header.Add(m_CollapseButton);

            m_HeaderContainer = new VisualElement {
                name = "row-header-container"
            };
            m_HeaderContainer.AddToClassList(headerContainerUssClassName);
            header.Add(m_HeaderContainer);

            Add(header);

            m_PropertyViewContainer = new VisualElement {
                name = "property-view-container"
            };
            m_PropertyViewContainer.AddToClassList(propertyViewUssClassName);
            Add(m_PropertyViewContainer);

            m_CollapseButton.RegisterCallback <ChangeEvent <bool> >(OnCollapseButtonChange);
        }
 /// <inheritdoc />
 protected override void BuildPartUI(VisualElement container)
 {
     if (m_Model is ICollapsible)
     {
         CollapseButton = new CollapseButton {
             name = PartName
         };
         CollapseButton.AddToClassList(m_ParentClassName.WithUssElement(PartName));
         container.Add(CollapseButton);
     }
 }
        public void ChangeValueTriggersChangeCallback()
        {
            var  collapseButton = new CollapseButton();
            bool called         = false;

            collapseButton.RegisterCallback <ChangeEvent <bool> >(e => called = true);
            m_Window.rootVisualElement.Add(collapseButton);
            Assert.IsFalse(collapseButton.value);
            collapseButton.value = true;

            Assert.IsTrue(called, "CollapsedButton did not called our callback.");
        }
Esempio n. 4
0
        /// <inheritdoc />
        protected override void UpdatePartFromModel()
        {
            base.UpdatePartFromModel();

            if (CollapseButton != null)
            {
                if (m_Model is IPortNodeModel portHolder && portHolder.Ports != null)
                {
                    var allPortConnected = portHolder.Ports.All(port => port.IsConnected());
                    CollapseButton?.SetDisabledPseudoState(allPortConnected);
                }
            }
        }
        public void SetValueWithoutNotifyDoesNotTriggerChangeCallback()
        {
            var  collapseButton = new CollapseButton();
            bool called         = false;

            collapseButton.RegisterCallback <ChangeEvent <bool> >(e => called = true);
            m_Window.rootVisualElement.Add(collapseButton);
            Assert.IsFalse(collapseButton.value);
            collapseButton.SetValueWithoutNotify(true);

            Assert.IsTrue(collapseButton.value, "CollapsedButton value did not change.");
            Assert.IsFalse(called, "CollapsedButton called our callback.");
        }
        public IEnumerator ClickingButtonIconChangesItsValue()
        {
            var collapseButton = new CollapseButton();

            m_Window.rootVisualElement.Add(collapseButton);
            // Do layout
            yield return(null);

            Assert.IsFalse(collapseButton.value);
            var     icon   = collapseButton.SafeQ("icon");
            Vector2 center = collapseButton.parent.LocalToWorld(collapseButton.layout.center);

            EventHelper.Click(center);

            Assert.IsTrue(collapseButton.value);
        }