public ArrowCreationSet(NodeControl nodeControl, Point location) { IsAdded = false; NodeControl = nodeControl; ArrowControl = new ArrowControl(nodeControl, null); From = new ArrowNodeSurrogate {Centre = location}; To = new ArrowNodeSurrogate {Centre = location}; Controller = new ArrowController(null, From, To); ArrowControl.DataContext = Controller.ViewModel; }
public ArrowCreationSet(NodeControl nodeControl, Point location) { IsAdded = false; NodeControl = nodeControl; ArrowControl = new ArrowControl(nodeControl, null); From = new ArrowNodeSurrogate { Centre = location }; To = new ArrowNodeSurrogate { Centre = location }; Controller = new ArrowController(null, From, To); ArrowControl.DataContext = Controller.ViewModel; }
private ArrowControlFactorySet CreateSet(ViewModel.Relationship viewModelRelationship, NodeControl fromControl, NodeControl toControl) { ArrowController arrowController = new ArrowController(viewModelRelationship, fromControl, toControl); arrowController.ViewModel.Id = viewModelRelationship.Id; if (toControl != null) { toControl.LinkFromNode(fromControl); } ArrowControl arrowControl = new ArrowControl(fromControl, toControl); Canvas.SetZIndex(arrowControl, 40); arrowControl.DataContext = arrowController.ViewModel; if (toControl != null && toControl.ViewModelNode.State == CollapseState.None) { toControl.ViewModelNode.State = CollapseState.Expanded; } ArrowControlFactorySet set = new ArrowControlFactorySet(); set.Relationship = viewModelRelationship; set.Control = arrowControl; set.Controller = arrowController; return set; }
public ArrowControlFactorySet RemoveArrow(ArrowControl arrowControl) { ViewModel.ArrowViewModel viewModelArrow = arrowControl.DataContext as ViewModel.ArrowViewModel; if (viewModelArrow != null) { return RemoveArrow(viewModelArrow); } else { IEnumerable<Guid> arrowSetIds = from arrowSet in Arrows where arrowSet.Value.Control == arrowControl select arrowSet.Key; if (arrowSetIds.Any()) { return RemoveArrow(arrowSetIds.First()); } } return null; }
public void Remove(ArrowControl arrowControl) { NodeContainer.Children.Remove(arrowControl); }
public void Add(ArrowControl arrowControl) { NodeContainer.Children.Add(arrowControl); }
public bool HasArrow(ArrowControl arrowControl) { return ArrowControls.Contains(arrowControl); }
//Remove node from selection public void RemoveArrow(ArrowControl arrowControl) { if (HasArrow(arrowControl)) { ArrowControls.Remove(arrowControl); arrowControl.DeSelect(); } }
//Add node to selection public void AddArrow(ArrowControl arrowControl) { if (!HasArrow(arrowControl)) { ArrowControls.Add(arrowControl); arrowControl.Select(); } }