@Override
 public boolean processMouseDown(MouseDownEvent event) {
   JavaScriptObject target = event.getNativeEvent().getEventTarget();
   m = g.getScreenCTM().inverse();
   delta = getCoordinates(event, m);
   float x = posHandle.getX().getBaseVal().getValue();
   float y = posHandle.getY().getBaseVal().getValue();
   float width = posHandle.getWidth().getBaseVal().getValue();
   float height = posHandle.getHeight().getBaseVal().getValue();
   OMSVGPoint p = svg.createSVGPoint();
   if (target == posHandle.getElement()) {
     mode = Mode.POS;
     p.setX(x);
     p.setY(y);
   } else if (target == topLeftHandle.getElement()) {
     p.setX(x);
     p.setY(y);
     mode = Mode.TOP_LEFT;
   } else if (target == bottomRightHandle.getElement()) {
     p.setX(x + width);
     p.setY(y + height);
     mode = Mode.BOTTOM_RIGHT;
   }
   if (mode.consumeEvent()) {
     delta.substract(p);
     event.preventDefault();
     event.stopPropagation();
   }
   return true;
 }
  public void onMouseDown(@Nonnull final MouseDownEvent event) {
    dragging = true;

    // capturing the mouse to the dragged widget.
    DOM.setCapture(container.getElement());
    startY = event.getY();
    ClientLog.log("DOWN", null);
    event.stopPropagation();
    event.preventDefault();
    originalStyle = widget.getElement().getAttribute("style");
  }
  @Override
  public void onMouseDown(MouseDownEvent event) {
    //		if (getWidget().getClass() != RootPanel.class)
    //			getWidget().setFocus(true);

    event.preventDefault();
    event.stopPropagation();

    if (this.activeLook) {
      switch (event.getNativeButton()) {
        case NativeEvent.BUTTON_LEFT:
          this.moveForward = true;
          break;
        case NativeEvent.BUTTON_RIGHT:
          this.moveBackward = true;
          break;
      }
    }
  }
  public void onMouseDown(MouseDownEvent event) {
    startX = event.getClientX();
    startY = event.getClientY();
    if (isDisabled() || event.getNativeButton() != NativeEvent.BUTTON_LEFT) {
      return;
    }

    clickTarget = Element.as(event.getNativeEvent().getEventTarget());
    mouseMoveCanceled = false;

    if (weekGrid.getCalendar().isEventMoveAllowed() || clickTargetsResize()) {
      moveRegistration = addMouseMoveHandler(this);
      setFocus(true);
      try {
        startYrelative = (int) ((double) event.getRelativeY(caption) % slotHeight);
        startXrelative =
            (event.getRelativeX(weekGrid.getElement()) - weekGrid.timebar.getOffsetWidth())
                % getDateCellWidth();
      } catch (Exception e) {
        GWT.log("Exception calculating relative start position", e);
      }
      mouseMoveStarted = false;
      Style s = getElement().getStyle();
      s.setZIndex(1000);
      startDatetimeFrom = (Date) calendarEvent.getStartTime().clone();
      startDatetimeTo = (Date) calendarEvent.getEndTime().clone();
      Event.setCapture(getElement());
    }

    // make sure the right cursor is always displayed
    if (clickTargetsResize()) {
      addGlobalResizeStyle();
    }

    /*
     * We need to stop the event propagation or else the WeekGrid
     * range select will kick in
     */
    event.stopPropagation();
    event.preventDefault();
  }