public void Visit(ConstraintUtility cu) { AddToQueue(cu); cu.Constraint.Accept(this); cu.Utility.Accept(this); //return true; }
public bool Visit(ConstraintUtility cu) { cu.Constraint.Parents.Add(cu); cu.Utility.Parents.Add(cu); //cu.Constraint.Accept(this); //cu.Utility.Accept(this); return(false); }
public bool Visit(ConstraintUtility cu) { cu.Parents.Clear(); cu.Constraint.Accept(this); cu.Utility.Accept(this); UpdateInterval(cu, 1, Double.PositiveInfinity); return(true); }
/// <summary> /// Activate a new role sequence connect action. For a set comparison constraint /// this adds a new sequence. For a set constraint it activates the current sequence. /// </summary> /// <param name="clientView">The active diagram client view. This can be retrieved /// from the shape if it is not specified.</param> protected void ActivateNewRoleSequenceConnectAction(DiagramClientView clientView) { ORMDiagram diagram; IConstraint constraint; if (null != (diagram = this.Diagram as ORMDiagram) && diagram.StickyObject == this && null != (constraint = this.AssociatedConstraint)) { ExternalConstraintConnectAction connectAction = diagram.ExternalConstraintConnectAction; switch (constraint.ConstraintStorageStyle) { case ConstraintStorageStyle.SetConstraint: connectAction.ConstraintRoleSequenceToEdit = constraint as ConstraintRoleSequence; break; case ConstraintStorageStyle.SetComparisonConstraint: int maximum = ConstraintUtility.RoleSequenceCountMaximum(constraint); if (maximum > 0 && ((SetComparisonConstraint)constraint).RoleSequenceCollection.Count >= maximum) { return; } if (constraint.ConstraintType == ConstraintType.Exclusion) { // If this is a subtype connect action already, then give it the first sequence ExclusionConstraint exclusion = (ExclusionConstraint)constraint; foreach (FactType existingFactType in exclusion.FactTypeCollection) { if (existingFactType is SubtypeFact) { connectAction.ConstraintRoleSequenceToEdit = exclusion.RoleSequenceCollection[0]; break; } } } break; } if (!connectAction.IsActive) { if (clientView == null) { clientView = diagram.ActiveDiagramView.DiagramClientView; } connectAction.ChainMouseAction(this, clientView); } } }
public bool Visit(ConstraintUtility cu) { if (cu.Constraint.Max < 1) { if (UpdateInterval(cu, Double.NegativeInfinity, cu.Constraint.Max)) { AddChanged(cu); return(true); } } if (UpdateInterval(cu, Double.NegativeInfinity, cu.Utility.Max)) { AddChanged(cu); return(true); } return(false); }
public bool Visit(ConstraintUtility cu) { bool c = false; if (cu.Min >= 1) { if (UpdateInterval(cu.Constraint, 1, 1)) { AddChanged(cu.Constraint); c = true; } if (UpdateInterval(cu.Utility, 1, cu.Max)) { AddChanged(cu.Utility); c = true; } } return(c); }
public void Visit(ConstraintUtility cu) { cu.Constraint.Accept(this); cu.Utility.Accept(this); }