示例#1
0
 private void move(ASDEditNode eNode, MouseEvent e) {
   eNode.getContext().remove(eNode);
   eNode.getContext().add(eNode, 0);
   int newX = eNode.getX() + e.getX();
   int newY = eNode.getY() + e.getY();
   eNode.setLocation(newX, newY);
   // inherited from java.awt.Component
   ASDGrammarNode gNode = eNode.getGrammarNode();
   gNode.setXCoordinate((short) newX);
   gNode.setYCoordinate((short) newY);
   RightLabel rightLabel = eNode.getRightLabel();
   if (rightLabel != null) {
     eNode.getContext().remove(rightLabel);
     eNode.getContext().add(rightLabel, 0);
     rightLabel.setLocation(
         newX + eNode.getWidth() + RightLabel.SEPARATION, newY + eNode.getInsets().top);
   }
   ASDDigraphNode dNode = eNode.getDigraphNode();
   Iterator it;
   for (it = dNode.getInEdges().iterator(); it.hasNext(); )
     ((ASDDigraphEdge) it.next()).getEditEdge().setDefaultCoordinates();
   for (it = dNode.getOutEdges().iterator(); it.hasNext(); )
     ((ASDDigraphEdge) it.next()).getEditEdge().setDefaultCoordinates();
 }