public IEnumerator ChangeStickyNoteContentUpdatesModel() { const string newContent = "New Content"; var stickyNoteModel = GraphModel.CreateStickyNote(new Rect(0, 0, 200, 200)); stickyNoteModel.Title = "My Note"; stickyNoteModel.Contents = "Old Content"; MarkGraphViewStateDirty(); yield return(null); var stickyNote = stickyNoteModel.GetUI <GraphElement>(GraphView); var label = stickyNote.SafeQ(StickyNote.contentContainerPartName).SafeQ(EditableLabel.labelName); var clickPosition = label.parent.LocalToWorld(label.layout.center); EventHelper.Click(clickPosition, clickCount: 2); EventHelper.Type(newContent); // Commit the changes by clicking outside the field. EventHelper.Click(GraphView.layout.min); yield return(null); Assert.AreEqual(newContent, stickyNoteModel.Contents); }
public IEnumerator PlacematCollapsesOnClick() { var placematModel = GraphModel.CreatePlacemat(Rect.zero); MarkGraphViewStateDirty(); yield return(null); var placemat = placematModel.GetUI <GraphElement>(GraphView); var collapseButton = placemat.SafeQ <CollapseButton>(Placemat.collapseButtonPartName); Assert.IsNotNull(collapseButton); Assert.IsFalse(collapseButton.value); Assert.IsFalse(placematModel.Collapsed); var clickPosition = collapseButton.parent.LocalToWorld(collapseButton.layout.center); // Move the mouse over to make the button appear. EventHelper.MouseMoveEvent(new Vector2(0, 0), clickPosition); EventHelper.MouseMoveEvent(clickPosition, clickPosition + Vector2.down); EventHelper.Click(clickPosition); yield return(null); Assert.IsTrue(placematModel.Collapsed); }
public IEnumerator CollapsibleNodeCollapsesOnClick() { var nodeModel = GraphModel.CreateNode <IONodeModel>(); // Add a port to make the node collapsible. nodeModel.AddInputPort("port", PortType.Data, TypeHandle.Void, null, PortOrientation.Horizontal, PortModelOptions.NoEmbeddedConstant); MarkGraphViewStateDirty(); yield return(null); var node = nodeModel.GetUI <GraphElement>(GraphView); var collapseButton = node.SafeQ <CollapseButton>(CollapsibleInOutNode.collapseButtonPartName); Assert.IsNotNull(collapseButton); Assert.IsFalse(collapseButton.value); Assert.IsFalse(nodeModel.Collapsed); var clickPosition = collapseButton.parent.LocalToWorld(collapseButton.layout.center); // Move the mouse over to make the button appear. EventHelper.MouseMoveEvent(new Vector2(0, 0), clickPosition); EventHelper.MouseMoveEvent(clickPosition, clickPosition + Vector2.down); EventHelper.Click(clickPosition); yield return(null); Assert.IsTrue(nodeModel.Collapsed); }
public IEnumerator EscapeCancelsEditing() { var editableLabel = new EditableLabel(); editableLabel.SetValueWithoutNotify("My Text"); string newValue = null; editableLabel.RegisterCallback <ChangeEvent <string> >(e => newValue = e.newValue); m_Window.rootVisualElement.Add(editableLabel); // Compute layout yield return(null); var label = editableLabel.SafeQ(EditableLabel.labelName); var textField = editableLabel.SafeQ(EditableLabel.textFieldName); var center = label.parent.LocalToWorld(label.layout.center); // Activate text field EventHelper.Click(center, clickCount: 2); // Type some text EventHelper.Type(k_SomeText); // Type Escape EventHelper.KeyPressed(KeyCode.Escape); Assert.IsNull(newValue); Assert.AreEqual(DisplayStyle.Flex, label.resolvedStyle.display); Assert.AreEqual(DisplayStyle.None, textField.resolvedStyle.display); }
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); }
public IEnumerator DoubleClickOnEditableLabelShowsTextField() { var editableLabel = new EditableLabel(); m_Window.rootVisualElement.Add(editableLabel); yield return(null); var label = editableLabel.SafeQ(EditableLabel.labelName); var textField = editableLabel.SafeQ(EditableLabel.textFieldName); var center = label.parent.LocalToWorld(label.layout.center); Assert.AreEqual(DisplayStyle.Flex, label.resolvedStyle.display); Assert.AreEqual(DisplayStyle.None, textField.resolvedStyle.display); EventHelper.Click(center, clickCount: 2); Assert.AreEqual(DisplayStyle.None, label.resolvedStyle.display); Assert.AreEqual(DisplayStyle.Flex, textField.resolvedStyle.display); }
public IEnumerator RenameNodeRenamesModel() { const string newName = "New Name"; var nodeModel = GraphModel.CreateNode <NodeModel>("Node"); MarkGraphViewStateDirty(); yield return(null); var node = nodeModel.GetUI <GraphElement>(GraphView); var label = node.SafeQ(CollapsibleInOutNode.titleIconContainerPartName).SafeQ(EditableLabel.labelName); var clickPosition = label.parent.LocalToWorld(label.layout.center); EventHelper.Click(clickPosition, clickCount: 2); EventHelper.Type(newName); EventHelper.Click(GraphView.layout.min); yield return(null); Assert.AreEqual(newName, nodeModel.Title); }
public IEnumerator RenamePlacematRenamesModel() { const string newName = "New Name"; var placematModel = GraphModel.CreatePlacemat(Rect.zero); placematModel.Title = "Placemat"; MarkGraphViewStateDirty(); yield return(null); var placemat = placematModel.GetUI <GraphElement>(GraphView); var label = placemat.SafeQ(Placemat.titleContainerPartName).SafeQ(EditableLabel.labelName); var clickPosition = label.parent.LocalToWorld(label.layout.center); EventHelper.Click(clickPosition, clickCount: 2); EventHelper.Type(newName); EventHelper.Click(GraphView.layout.max); yield return(null); Assert.AreEqual(newName, placematModel.Title); }