Java源码示例:com.google.gwt.event.dom.client.MouseWheelEvent

示例1
public void onMouseWheel(MouseWheelEvent e) {
	e.preventDefault();
	
	// once we start zooming, don't allow other uses of mouse wheel for a while
	// so we don't accidentally edit a resistor value while zooming
	boolean zoomOnly = System.currentTimeMillis() < zoomTime+1000;
	
	if (!zoomOnly)
	    scrollValues(e.getNativeEvent().getClientX(), e.getNativeEvent().getClientY(), e.getDeltaY());
	
	if (mouseElm instanceof MouseWheelHandler && !zoomOnly)
		((MouseWheelHandler) mouseElm).onMouseWheel(e);
	else if (scopeSelected != -1)
	    scopes[scopeSelected].onMouseWheel(e);
	else if (!dialogIsShowing()) {
	    zoomCircuit(e.getDeltaY());
	    zoomTime = System.currentTimeMillis();
}
	repaint();
}
 
示例2
public PanController(Widget widget) {
	super(widget);
	widget.addDomHandler(this, MouseWheelEvent.getType());
	widget.addDomHandler(this, KeyDownEvent.getType());
	
	app.getHorizontalScrollbar().addScrollPanListener(this);
	app.getVerticalScrollbar().addScrollPanListener(this);
}
 
示例3
@Override
public void onMouseWheel(MouseWheelEvent event) {
	if (event.isControlKeyDown()) {
		int delta = event.getDeltaY();
		app.getToolbar().zoomChangeClicked(Integer.signum(-delta));
		event.preventDefault();
	}
}
 
示例4
/**
 * Computes the new domain bounds
 */
private Bounds changeDomainBounds(MouseWheelEvent mouseWheelEvent) {
    Bounds setBounds = this.currentSetDomainBoundsEvent.getBounds();

    // memorizing the domain point at the current mouse position
    Point originalDomainPoint = computeDomainPointAtMousePosition(mouseWheelEvent, setBounds);

    // zoom in or zoom out at the center
    if (mouseWheelEvent.isNorth()) {
        setBounds =
                this.currentSetDomainBoundsEvent.getBounds().transformProportional(
                        createZoomInBounds(computeDelta(mouseWheelEvent)));
    } else {
        setBounds =
                this.currentSetDomainBoundsEvent.getBounds().transformProportional(
                        createZoomOutBounds(computeDelta(mouseWheelEvent)));
    }

    // figuring out the new domain point at the mouse position
    Point newDomainPoint = computeDomainPointAtMousePosition(mouseWheelEvent, setBounds);

    // shifting the originalDomainPoint back to the mouse position
    setBounds =
            setBounds.shiftAbsolute(originalDomainPoint.getX() - newDomainPoint.getX(), originalDomainPoint.getY()
                    - newDomainPoint.getY());

    if (this.currentMaxDomainBoundsEvent == null
            || (this.currentMaxDomainBoundsEvent.containsHorizontally(setBounds.getLeft(), setBounds.getRight()) && this.currentMaxDomainBoundsEvent
                    .containsVertically(setBounds.getTop(), setBounds.getBottom()))) {

        return setBounds;
    } else {
        return null;
    }
}
 
示例5
/**
 * Computes the new bounds of the image for the preview
 */
private Bounds changeImageBounds(MouseWheelEvent mouseWheelEvent) {
    // memorizing current mouse position
    Point mousePos =
            new Point(mouseWheelEvent.getX() - getViewportBounds().getLeft(), mouseWheelEvent.getY()
                    - getViewportBounds().getTop());

    // zoom in or zoom out at the center (the inverse of changeSetBounds)
    Bounds newImageBounds;
    if (mouseWheelEvent.isNorth()) {
        newImageBounds =
                getViewportDataAreaBounds().transformProportional(
                        createZoomOutBounds(computeDelta(mouseWheelEvent)));
    } else {
        newImageBounds =
                getViewportDataAreaBounds().transformProportional(
                        createZoomInBounds(computeDelta(mouseWheelEvent)));
    }

    // translating it back to the viewport size
    newImageBounds = newImageBounds.transform(getViewportDataAreaBounds(), getViewportBounds());

    // new pixel position at mouse coordinates
    Point relPoint =
            new Point((mouseWheelEvent.getX() - getViewportBounds().getLeft()) / getViewportBounds().getWidth(),
                    (mouseWheelEvent.getY() - getViewportBounds().getTop()) / getViewportBounds().getHeight());

    Point newMousePos = newImageBounds.findAbsolutePoint(relPoint);

    // shifting the mousePos back to the mouse position
    newImageBounds =
            newImageBounds.shiftAbsolute(mousePos.getX() - newMousePos.getX(), mousePos.getY()
                    - newMousePos.getY());

    return newImageBounds;
}
 
示例6
private Point computeDomainPointAtMousePosition(MouseWheelEvent mouseWheelEvent, Bounds domainBounds) {
    Bounds viewportDataAreaBounds = getViewportDataAreaBounds();

    Point relPoint =
            new Point((mouseWheelEvent.getX() - viewportDataAreaBounds.getLeft())
                    / viewportDataAreaBounds.getWidth(),
                    (mouseWheelEvent.getY() - viewportDataAreaBounds.getTop())
                            / viewportDataAreaBounds.getHeight());

    return domainBounds.findAbsolutePoint(relPoint);
}
 
示例7
private int computeDelta(MouseWheelEvent mouseWheelEvent) {
    /*
     * If the user scrolls fast, multiple mouse wheels might be summed up to
     * one event. GWT seems to normalize the different deltas across browser
     * to a multiple of 3 (3, 6, 9... tested with IE, FF, Chrome).
     * 
     * Here we normalize to 1, 2, 3...
     */
    return Math.abs(mouseWheelEvent.getDeltaY() / 3); // integer division
}
 
示例8
public HandlerRegistration addMouseWheelHandler(MouseWheelHandler handler) {
  return addDomHandler(handler, MouseWheelEvent.getType());
}
 
示例9
@Override
public HandlerRegistration addMouseWheelHandler( MouseWheelHandler handler) {
	return addHandler(handler, MouseWheelEvent.getType());
}
 
示例10
@Override
public com.google.gwt.event.shared.HandlerRegistration addMouseWheelHandler(MouseWheelHandler handler) {
	return this.addDomHandler(handler, MouseWheelEvent.getType());
}
 
示例11
@Override
public HandlerRegistration addMouseWheelHandler(MouseWheelHandler handler) {
	return this.addDomHandler(handler, MouseWheelEvent.getType());
}
 
示例12
@Override
public HandlerRegistration addMouseWheelHandler(MouseWheelHandler handler) {
	return this.addDomHandler(handler, MouseWheelEvent.getType());
}