public virtual IDiagramPopupMenuBase GetPopupMenu(IBaseNode baseNode)
 {
     if (baseNode == null)
     {
         return(_diagramPopupMenu);
     }
     if (baseNode.IsAnImplementationOf(typeof(IContainerNode)))
     {
         return(_containerPopupMenu);
     }
     if (baseNode.IsAnImplementationOf(typeof(INeighborhoodNode)))
     {
         return(_neighborhoodPopupMenu);
     }
     return(_diagramPopupMenu);
 }
Exemplo n.º 2
0
 public override IDiagramPopupMenuBase GetPopupMenu(IBaseNode baseNode)
 {
     if (baseNode == null)
     {
         return(_diagramPopupMenu);
     }
     if (baseNode.IsAnImplementationOf(typeof(ReactionNode)))
     {
         return(_reactionPopupMenu);
     }
     if (baseNode.IsAnImplementationOf(typeof(MoleculeNode)))
     {
         return(_moleculePopupMenu);
     }
     return(base.GetPopupMenu(baseNode));
 }
        public override void ShowContextMenu(IBaseNode baseNode, Point popupLocation, PointF locationInDiagramView)
        {
            var            popupMenu     = GetPopupMenu(baseNode);
            IContainerBase containerBase = null;

            if (baseNode == null)
            {
                containerBase = DiagramModel;
            }
            else if (baseNode.IsAnImplementationOf <IContainerNode>())
            {
                containerBase = baseNode as IContainerNode;
            }

            popupMenu?.Show(_view, popupLocation, locationInDiagramView, containerBase, baseNode);
        }
Exemplo n.º 4
0
        public override void Link(IBaseNode node1, IBaseNode node2, object portObject1, object portObject2)
        {
            if (!node1.IsAnImplementationOf <IContainerNode>() || !node2.IsAnImplementationOf <IContainerNode>())
            {
                return;
            }

            var container1 = _context.Get <IContainer>(node1.Id);
            var container2 = _context.Get <IContainer>(node2.Id);

            var addNeighborhoodTask = IoC.Resolve <IInteractionTasksForNeighborhood>();

            AddCommand(addNeighborhoodTask.Add(container1, container2));
            //because cannot undo this action, reset undo stack
            DiagramModel.ClearUndoStack();
        }
Exemplo n.º 5
0
 protected static bool NodesAreBothJournalPageNodes(IBaseNode node1, IBaseNode node2)
 {
     return(node1.IsAnImplementationOf <JournalPageNode>() && node2.IsAnImplementationOf <JournalPageNode>());
 }
Exemplo n.º 6
0
 private bool isValidLinkFromReactionNode(IBaseNode node1, IBaseNode node2, object obj1, object obj2)
 {
     return(node2.IsAnImplementationOf <MoleculeNode>());
 }
 public bool IsMoleculeNode(IBaseNode baseNode)
 {
     return(baseNode.IsAnImplementationOf <MoleculeNode>());
 }