// IMPORTANT: This method is only for creating the Visual-Symbol parts of the representations. // Later, the appropriate interconnections should be added. public VisualRepresentation AppendClone(View TargetView, VisualRepresentation OriginalRepresentation, double DeltaX, double DeltaY) { var NewPosition = new Point(OriginalRepresentation.MainSymbol.BaseCenter.X + DeltaX, OriginalRepresentation.MainSymbol.BaseCenter.Y + DeltaY); VisualRepresentation Result = null; if (OriginalRepresentation is ConceptVisualRepresentation) { var OriginalConceptRep = OriginalRepresentation as ConceptVisualRepresentation; var ConceptRepCreation = ConceptCreationCommand.CreateConceptAndRepresentationCopy(OriginalConceptRep, TargetView, NewPosition); if (ConceptRepCreation == null || !ConceptRepCreation.WasSuccessful) { Console.WriteLine("Cannot append new Concept. Problem: {0}", ConceptRepCreation.Message); return(null); } Result = ConceptRepCreation.Result; } else { var OriginalRelationshipRep = OriginalRepresentation as RelationshipVisualRepresentation; var RelationshipRepCreation = RelationshipCreationCommand.CreateRelationshipAndRepresentationCopy(OriginalRelationshipRep, TargetView, NewPosition); if (RelationshipRepCreation == null || !RelationshipRepCreation.WasSuccessful) { Console.WriteLine("Cannot append new Relationship. Problem: {0}", RelationshipRepCreation.Message); return(null); } Result = RelationshipRepCreation.Result; } Result.RepresentedIdea.AddToComposite(TargetView.OwnerCompositeContainer); return(Result); }
public VisualRepresentation AppendShortcut(View TargetView, Idea OriginalIdea, Point Position) { VisualRepresentation Result = null; if (OriginalIdea is Concept) { var RefConcept = (Concept)OriginalIdea; Result = ConceptCreationCommand.CreateConceptVisualRepresentation(RefConcept, TargetView, Position, true, true); } else { var RefRelationship = (Relationship)OriginalIdea; if (RefRelationship.RelationshipDefinitor.Value.IsSimple && RefRelationship.RelationshipDefinitor.Value.HideCentralSymbolWhenSimple) { Console.WriteLine("Shortcut omitted for simple Relationship with its Symbol hidden."); } else { Result = RelationshipCreationCommand.CreateRelationshipVisualRepresentation(RefRelationship, TargetView, Position, true); } } return(Result); }