Inheritance: System.Windows.Controls.UserControl, IArrowControl
 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);
 }
Exemple #7
0
 public bool HasArrow(ArrowControl arrowControl)
 {
     return ArrowControls.Contains(arrowControl);
 }
Exemple #8
0
 //Remove node from selection
 public void RemoveArrow(ArrowControl arrowControl)
 {
     if (HasArrow(arrowControl))
     {
         ArrowControls.Remove(arrowControl);
         arrowControl.DeSelect();
     }
 }
Exemple #9
0
 //Add node to selection
 public void AddArrow(ArrowControl arrowControl)
 {
     if (!HasArrow(arrowControl))
     {
         ArrowControls.Add(arrowControl);
         arrowControl.Select();
     }
 }