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); }
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); }
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(); }
protected static bool NodesAreBothJournalPageNodes(IBaseNode node1, IBaseNode node2) { return(node1.IsAnImplementationOf <JournalPageNode>() && node2.IsAnImplementationOf <JournalPageNode>()); }
private bool isValidLinkFromReactionNode(IBaseNode node1, IBaseNode node2, object obj1, object obj2) { return(node2.IsAnImplementationOf <MoleculeNode>()); }
public bool IsMoleculeNode(IBaseNode baseNode) { return(baseNode.IsAnImplementationOf <MoleculeNode>()); }