Esempio n. 1
0
  @Override
  public void mousePressed(java.awt.event.MouseEvent e) {
    if (SwingUtilities.isLeftMouseButton(e)) {
      ZonePoint zp = new ScreenPoint(e.getX(), e.getY()).convertToZone(renderer);
      int x = zp.x - renderer.getZone().getGrid().getOffsetX();
      int y = zp.y - renderer.getZone().getGrid().getOffsetY();

      dragOffsetX = x % renderer.getZone().getGrid().getSize();
      dragOffsetY = y % renderer.getZone().getGrid().getSize();
    } else {
      super.mousePressed(e);
    }
  }
Esempio n. 2
0
 ////
 // MOUSE
 @Override
 public void mousePressed(MouseEvent e) {
   Label label = renderer.getLabelAt(e.getX(), e.getY());
   if (label != selectedLabel) {
     selectedNewLabel = true;
     renderer.repaint();
   } else {
     selectedNewLabel = false;
   }
   if (label != null) {
     ScreenPoint sp = ScreenPoint.fromZonePoint(renderer, label.getX(), label.getY());
     dragOffsetX = (int) (e.getX() - sp.x);
     dragOffsetY = (int) (e.getY() - sp.y);
   }
   super.mousePressed(e);
 }
Esempio n. 3
0
  @Override
  protected void installKeystrokes(Map<KeyStroke, Action> actionMap) {
    super.installKeystrokes(actionMap);

    actionMap.put(
        KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0),
        new AbstractAction() {
          public void actionPerformed(ActionEvent e) {
            if (selectedLabel != null) {
              renderer.getZone().removeLabel(selectedLabel.getId());
              MapTool.serverCommand()
                  .removeLabel(renderer.getZone().getId(), selectedLabel.getId());
              selectedLabel = null;
              repaint();
            }
          }
        });
  }
Esempio n. 4
0
  /*
   * (non-Javadoc)
   *
   * @see maptool.client.Tool#detachFrom(maptool.client.ZoneRenderer)
   */
  @Override
  protected void detachFrom(ZoneRenderer renderer) {
    AppState.setShowGrid(oldShowGrid);
    MapTool.getFrame().hideControlPanel();
    renderer.repaint();

    // Commit the grid size change
    Zone zone = renderer.getZone();
    MapTool.serverCommand()
        .setZoneGridSize(
            zone.getId(),
            zone.getGrid().getOffsetX(),
            zone.getGrid().getOffsetY(),
            zone.getGrid().getSize(),
            zone.getGridColor());

    super.detachFrom(renderer);
  }
Esempio n. 5
0
  /*
   * (non-Javadoc)
   *
   * @see maptool.client.Tool#attachTo(maptool.client.ZoneRenderer)
   */
  @Override
  protected void attachTo(ZoneRenderer renderer) {
    oldShowGrid = AppState.isShowGrid();
    AppState.setShowGrid(true);

    Grid grid = renderer.getZone().getGrid();

    boolean showSecond =
        grid.getCapabilities().isSecondDimensionAdjustmentSupported() ? true : false;
    gridSecondDimension.setVisible(showSecond);
    gridSecondDimensionLabel.setVisible(showSecond);

    MapTool.getFrame().showControlPanel(controlPanel);
    renderer.repaint();

    super.attachTo(renderer);

    copyGridToControlPanel();
  }
Esempio n. 6
0
  @Override
  public void mouseDragged(MouseEvent e) {
    super.mouseDragged(e);
    if (!isDragging) {
      // Setup
      Label label = renderer.getLabelAt(e.getX(), e.getY());
      if (selectedLabel == null || selectedLabel != label) {
        selectedLabel = label;
      }
      if (selectedLabel == null || SwingUtilities.isRightMouseButton(e)) {
        return;
      }
    }
    isDragging = true;

    ZonePoint zp =
        new ScreenPoint(e.getX() - dragOffsetX, e.getY() - dragOffsetY).convertToZone(renderer);

    selectedLabel.setX(zp.x);
    selectedLabel.setY(zp.y);
    renderer.repaint();
  }
Esempio n. 7
0
  @Override
  public void mouseReleased(MouseEvent e) {
    if (SwingUtilities.isLeftMouseButton(e)) {
      if (!isDragging) {
        Label label = renderer.getLabelAt(e.getX(), e.getY());
        if (label == null) {
          if (selectedLabel == null) {
            ZonePoint zp = new ScreenPoint(e.getX(), e.getY()).convertToZone(renderer);
            label = new Label("", zp.x, zp.y);
            selectedLabel = label;
          } else {
            selectedLabel = null;
            renderer.repaint();
            return;
          }
        } else {
          if (selectedNewLabel) {
            selectedLabel = label;
            renderer.repaint();
            return;
          }
        }
        EditLabelDialog dialog = new EditLabelDialog(label);
        dialog.setVisible(true);

        if (!dialog.isAccepted()) {
          return;
        }
        renderer.getZone().putLabel(label);
      }
      if (selectedLabel != null) {
        MapTool.serverCommand().putLabel(renderer.getZone().getId(), selectedLabel);
        renderer.repaint();
      }
    }
    isDragging = false;
    super.mouseReleased(e);
  }
Esempio n. 8
0
  ////
  // MOUSE MOTION LISTENER
  @Override
  public void mouseDragged(java.awt.event.MouseEvent e) {
    if (SwingUtilities.isLeftMouseButton(e)) {
      ZonePoint zp = new ScreenPoint(e.getX(), e.getY()).convertToZone(renderer);
      int x = zp.x - dragOffsetX;
      int y = zp.y - dragOffsetY;

      int gridSize = renderer.getZone().getGrid().getSize();

      x %= gridSize;
      y %= gridSize;

      if (x > 0) x -= gridSize;
      if (y > 0) y -= gridSize;

      renderer.getZone().getGrid().setOffset(x, y);

      // renderer.repaint();
      copyGridToControlPanel();
    } else {
      super.mouseDragged(e);
    }
  }
Esempio n. 9
0
  @Override
  protected void installKeystrokes(Map<KeyStroke, Action> actionMap) {
    super.installKeystrokes(actionMap);

    actionMap.put(
        KeyStroke.getKeyStroke(KeyEvent.VK_UP, KeyEvent.SHIFT_DOWN_MASK),
        new GridSizeAction(Size.Decrease));
    actionMap.put(
        KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, KeyEvent.SHIFT_DOWN_MASK),
        new GridSizeAction(Size.Decrease));
    actionMap.put(
        KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, KeyEvent.SHIFT_DOWN_MASK),
        new GridSizeAction(Size.Increase));
    actionMap.put(
        KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, KeyEvent.SHIFT_DOWN_MASK),
        new GridSizeAction(Size.Increase));
    actionMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_UP, 0), new GridOffsetAction(Direction.Up));
    actionMap.put(
        KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, 0), new GridOffsetAction(Direction.Left));
    actionMap.put(
        KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, 0), new GridOffsetAction(Direction.Down));
    actionMap.put(
        KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, 0), new GridOffsetAction(Direction.Right));
  }
Esempio n. 10
0
 @Override
 protected void detachFrom(ZoneRenderer renderer) {
   renderer.setCursor(Cursor.getDefaultCursor());
   super.detachFrom(renderer);
 }
Esempio n. 11
0
 @Override
 protected void attachTo(ZoneRenderer renderer) {
   renderer.setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR));
   super.attachTo(renderer);
   selectedLabel = null;
 }