예제 #1
0
 protected static void move(VisualItem item, double dx, double dy) {
   if (item instanceof AggregateItem) {
     Iterator items = ((AggregateItem) item).items();
     while (items.hasNext()) {
       move((VisualItem) items.next(), dx, dy);
     }
   } else {
     double x = item.getX();
     double y = item.getY();
     item.setStartX(x);
     item.setStartY(y);
     item.setX(x + dx);
     item.setY(y + dy);
     item.setEndX(x + dx);
     item.setEndY(y + dy);
   }
 }
예제 #2
0
    @Override
    public void itemDragged(VisualItem item, MouseEvent e) {
      if (!SwingUtilities.isRightMouseButton(e)) {
        return;
      }
      if (item.getGroup().equals(m_group)) {
        dragged = true;
        //            Display d = (Display) e.getComponent();
        Display d = controller.getDocumentGrid();
        d.getAbsoluteCoordinate(e.getPoint(), temp);
        double dx = temp.getX() - down.getX();
        double dy = temp.getY() - down.getY();
        double x = item.getX();
        double y = item.getY();
        double w = item.getDouble(WIDTH);
        double h = item.getDouble(HEIGHT);

        item.setStartX(x);
        item.setStartY(y);
        item.setX(x + dx);
        item.setY(y + dy);
        item.setEndX(x + dx);
        item.setEndY(y + dy);

        item.setBounds(x + dx, y + dy, w, h);

        if (repaint) {
          item.getVisualization().repaint();
        }

        down.setLocation(temp);
        if (action != null) {
          d.getVisualization().run(action);
        }
      }
    }