List of usage examples for com.google.gwt.user.client DOM setCapture
public static void setCapture(Element elem)
From source file:asquare.gwt.tk.client.ui.behavior.DragController.java
License:Apache License
@Override public void onMouseDown(MouseEvent e) { m_mouseDown = true; DOM.setCapture(getPluggedInWidget().getElement()); }
From source file:at.ac.fhcampuswien.atom.client.gui.attributes.components.slider.SliderBar.java
License:Apache License
/** * Listen for events that will move the knob. * // ww w. j av a 2 s . co m * @param event the event that occurred */ @Override public void onBrowserEvent(Event event) { super.onBrowserEvent(event); if (enabled) { switch (DOM.eventGetType(event)) { // Unhighlight and cancel keyboard events case Event.ONBLUR: keyTimer.cancel(); if (slidingMouse) { DOM.releaseCapture(getElement()); slidingMouse = false; slideKnob(event); stopSliding(true, true); } else if (slidingKeyboard) { slidingKeyboard = false; stopSliding(true, true); } unhighlight(); break; // Highlight on focus case Event.ONFOCUS: highlight(); break; // Mousewheel events case Event.ONMOUSEWHEEL: int velocityY = DOM.eventGetMouseWheelVelocityY(event); DOM.eventPreventDefault(event); if (velocityY > 0) { shiftRight(1); } else { shiftLeft(1); } break; // Shift left or right on key press case Event.ONKEYDOWN: if (!slidingKeyboard) { int multiplier = 1; if (DOM.eventGetCtrlKey(event)) { multiplier = (int) (getTotalRange() / stepSize / 10); } switch (DOM.eventGetKeyCode(event)) { case KeyCodes.KEY_HOME: DOM.eventPreventDefault(event); setCurrentValue(minValue); break; case KeyCodes.KEY_END: DOM.eventPreventDefault(event); setCurrentValue(maxValue); break; case KeyCodes.KEY_LEFT: DOM.eventPreventDefault(event); slidingKeyboard = true; startSliding(false, true); shiftLeft(multiplier); keyTimer.schedule(400, false, multiplier); break; case KeyCodes.KEY_RIGHT: DOM.eventPreventDefault(event); slidingKeyboard = true; startSliding(false, true); shiftRight(multiplier); keyTimer.schedule(400, true, multiplier); break; case 32: DOM.eventPreventDefault(event); setCurrentValue(minValue + getTotalRange() / 2); break; } } break; // Stop shifting on key up case Event.ONKEYUP: keyTimer.cancel(); if (slidingKeyboard) { slidingKeyboard = false; stopSliding(true, true); } break; // Mouse Events case Event.ONMOUSEDOWN: setFocus(true); slidingMouse = true; DOM.setCapture(getElement()); startSliding(true, true); DOM.eventPreventDefault(event); slideKnob(event); break; case Event.ONMOUSEUP: if (slidingMouse) { DOM.releaseCapture(getElement()); slidingMouse = false; slideKnob(event); stopSliding(true, true); } break; case Event.ONMOUSEMOVE: if (slidingMouse) { slideKnob(event); } break; } } }
From source file:cc.alcina.framework.gwt.client.widget.complex.SliderBar.java
License:Apache License
/** * Listen for events that will move the knob. * * @param event/* w w w . j av a 2s. c o m*/ * the event that occurred */ @Override public void onBrowserEvent(Event event) { super.onBrowserEvent(event); if (enabled) { switch (DOM.eventGetType(event)) { // Unhighlight and cancel keyboard events case Event.ONBLUR: keyTimer.cancel(); if (slidingMouse) { DOM.releaseCapture(getElement()); slidingMouse = false; slideKnob(event); stopSliding(true, true); } else if (slidingKeyboard) { slidingKeyboard = false; stopSliding(true, true); } unhighlight(); break; // Highlight on focus case Event.ONFOCUS: highlight(); break; // Mousewheel events case Event.ONMOUSEWHEEL: int velocityY = DOM.eventGetMouseWheelVelocityY(event); DOM.eventPreventDefault(event); if (velocityY > 0) { shiftUp(1); } else { shiftDown(1); } break; // Shift left or right on key press case Event.ONKEYDOWN: if (!slidingKeyboard && isKeyEventsEnabled()) { int multiplier = 1; if (DOM.eventGetCtrlKey(event)) { multiplier = (int) (getTotalRange() / stepSize / 10); } switch (DOM.eventGetKeyCode(event)) { case KeyCodes.KEY_HOME: DOM.eventPreventDefault(event); setCurrentValue(minValue); break; case KeyCodes.KEY_END: DOM.eventPreventDefault(event); setCurrentValue(maxValue); break; case KeyCodes.KEY_LEFT: DOM.eventPreventDefault(event); slidingKeyboard = true; startSliding(false, true); shiftDown(multiplier); keyTimer.schedule(400, false, multiplier); break; case KeyCodes.KEY_RIGHT: DOM.eventPreventDefault(event); slidingKeyboard = true; startSliding(false, true); shiftUp(multiplier); keyTimer.schedule(400, true, multiplier); break; case 32: DOM.eventPreventDefault(event); setCurrentValue(minValue + getTotalRange() / 2); break; } } break; // Stop shifting on key up case Event.ONKEYUP: keyTimer.cancel(); if (slidingKeyboard) { slidingKeyboard = false; stopSliding(true, true); } break; // Mouse Events case Event.ONMOUSEDOWN: setFocus(true); slidingMouse = true; DOM.setCapture(getElement()); startSliding(true, true); DOM.eventPreventDefault(event); slideKnob(event); break; case Event.ONMOUSEUP: if (slidingMouse) { DOM.releaseCapture(getElement()); slidingMouse = false; slideKnob(event); stopSliding(true, true); } break; case Event.ONMOUSEMOVE: if (slidingMouse) { slideKnob(event); } break; } } }
From source file:com.alkacon.geranium.client.ui.AreaSelectPanel.java
License:Open Source License
/** * @see com.google.gwt.event.dom.client.MouseDownHandler#onMouseDown(com.google.gwt.event.dom.client.MouseDownEvent) *//*from ww w .j a v a 2 s. co m*/ public void onMouseDown(MouseDownEvent event) { if (event.getNativeButton() != NativeEvent.BUTTON_LEFT) { // only act on left button down, ignore right click return; } cacheElementSize(); switch (m_state) { case EMPTY: DOM.setCapture(getElement()); m_state = State.SELECTING; m_firstX = event.getRelativeX(getElement()); m_firstY = event.getRelativeY(getElement()); m_currentSelection = new PositionBean(); setSelectPosition(m_firstX, m_firstY, 0, 0); showSelect(true); break; case SELECTED: m_firstX = event.getRelativeX(getElement()); m_firstY = event.getRelativeY(getElement()); if (m_mouseOverArea == null) { // mouse not over selection, remove selection clearSelection(); fireChangeEvent(true); break; } switch (m_mouseOverArea) { case BORDER_TOP: m_state = State.RESIZE_HEIGHT; // fixing opposite border m_firstX = m_currentSelection.getLeft(); m_firstY = m_currentSelection.getTop() + m_currentSelection.getHeight(); break; case BORDER_BOTTOM: m_state = State.RESIZE_HEIGHT; // fixing opposite border m_firstX = m_currentSelection.getLeft(); m_firstY = m_currentSelection.getTop(); break; case BORDER_LEFT: m_state = State.RESIZE_WIDTH; // fixing opposite border m_firstX = m_currentSelection.getLeft() + m_currentSelection.getWidth(); m_firstY = m_currentSelection.getTop(); break; case BORDER_RIGHT: m_state = State.RESIZE_WIDTH; // fixing opposite border m_firstX = m_currentSelection.getLeft(); m_firstY = m_currentSelection.getTop(); break; case CENTER: m_state = State.DRAGGING; m_moveOffsetX = m_firstX - m_currentSelection.getLeft(); m_moveOffsetY = m_firstY - m_currentSelection.getTop(); break; case CORNER_BOTTOM_LEFT: m_state = State.SELECTING; // fixing opposite corner m_firstX = m_currentSelection.getLeft() + m_currentSelection.getWidth(); m_firstY = m_currentSelection.getTop(); break; case CORNER_BOTTOM_RIGHT: m_state = State.SELECTING; // fixing opposite corner m_firstX = m_currentSelection.getLeft(); m_firstY = m_currentSelection.getTop(); break; case CORNER_TOP_LEFT: m_state = State.SELECTING; // fixing opposite corner m_firstX = m_currentSelection.getLeft() + m_currentSelection.getWidth(); m_firstY = m_currentSelection.getTop() + m_currentSelection.getHeight(); break; case CORNER_TOP_RIGHT: m_state = State.SELECTING; // fixing opposite corner m_firstX = m_currentSelection.getLeft(); m_firstY = m_currentSelection.getTop() + m_currentSelection.getHeight(); break; default: } DOM.setCapture(getElement()); break; case DRAGGING: case RESIZE_HEIGHT: case RESIZE_WIDTH: case SELECTING: default: // Messed up selection state. // May happen if mouse-cursor was moved outside the window or frame while button pressed and button was released outside. if (m_currentSelection != null) { m_state = State.SELECTED; fireChangeEvent(true); } else { // this should never happen clearSelection(); } } event.preventDefault(); event.stopPropagation(); }
From source file:com.alkacon.geranium.client.ui.Popup.java
License:Open Source License
/** * Called on mouse down in the caption area, begins the dragging loop by * turning on event capture./*from w w w . j a v a2 s. c o m*/ * * @see DOM#setCapture * @see #continueDragging * @param event the mouse down event that triggered dragging */ protected void beginDragging(MouseDownEvent event) { m_dragging = true; m_windowWidth = Window.getClientWidth(); m_clientLeft = Document.get().getBodyOffsetLeft(); m_clientTop = Document.get().getBodyOffsetTop(); DOM.setCapture(getElement()); m_dragStartX = event.getX(); m_dragStartY = event.getY(); addStyleName(I_LayoutBundle.INSTANCE.dialogCss().dragging()); }
From source file:com.allen_sauer.gwt.dnd.client.MouseDragHandler.java
License:Apache License
private void startCapturing() { capturingWidget.setPixelSize(0, 0); RootPanel.get().add(capturingWidget, 0, 0); DOM.setCapture(capturingWidget.getElement()); }
From source file:com.appkit.interactions.client.dnd.MouseDragHandler.java
License:Apache License
private void startCapturing() { capturingWidget.setPixelSize(0, 0); RootPanel.get().add(capturingWidget, 0, 0); DOM.setCapture(capturingWidget.getElement()); }
From source file:com.apress.progwt.client.gui.timeline.TLORangeEdge.java
License:Apache License
public void onMouseDown(Widget sender, int x, int y) { resizing = true; DOM.setCapture(myLabel.getElement()); resizeStartX = x; }
From source file:com.bearsoft.gwt.ui.containers.DraggableDecoration.java
public DraggableDecoration(String... aClasses) { super();/* ww w.j a v a2 s . c o m*/ Element e = Document.get().createDivElement(); setElement(e); for (String className : aClasses) { e.addClassName(className); } addDomHandler(new MouseDownHandler() { @Override public void onMouseDown(MouseDownEvent event) { DOM.setCapture(getElement()); event.preventDefault(); event.stopPropagation(); mouseScreenX = event.getScreenX(); mouseScreenY = event.getScreenY(); event.stopPropagation(); Widget target = getMovableTarget(); assert target != null : "movable target widget must present to accept position changes"; String tLeft = target.getElement().getStyle().getLeft(); targetScrollLeft = Double.parseDouble(tLeft.substring(0, tLeft.length() - 2)); String tTop = target.getElement().getStyle().getTop(); targetScrollTop = Double.parseDouble(tTop.substring(0, tTop.length() - 2)); target = getResizableTarget(); assert target != null : "resizable target widget must present to accept size changes"; String tWidth = target.getElement().getStyle().getWidth(); targetWidth = Double.parseDouble(tWidth.substring(0, tWidth.length() - 2)); String tHeight = target.getElement().getStyle().getHeight(); targetHeight = Double.parseDouble(tHeight.substring(0, tHeight.length() - 2)); mousePressed(); } }, MouseDownEvent.getType()); addDomHandler(new MouseUpHandler() { @Override public void onMouseUp(MouseUpEvent event) { DOM.releaseCapture(getElement()); event.preventDefault(); event.stopPropagation(); mouseReleased(); } }, MouseUpEvent.getType()); addDomHandler(new MouseMoveHandler() { @Override public void onMouseMove(MouseMoveEvent event) { if (DOM.getCaptureElement() == getElement()) { int dx = event.getScreenX() - mouseScreenX; int dy = event.getScreenY() - mouseScreenY; event.preventDefault(); event.stopPropagation(); changeTarget(getMovableTarget(), getResizableTarget(), dx, dy, event); } } }, MouseMoveEvent.getType()); }
From source file:com.bearsoft.gwt.ui.containers.window.WindowPanel.java
@Override public final void setCaptionWidget(HasHTML aCaptionWidget) { if (captionWidget != aCaptionWidget) { if (captionWidget != null) { captionWidget.removeFromParent(); }/* www .ja v a2 s. c o m*/ if (mdHandler != null) { mdHandler.removeHandler(); } if (muHandler != null) { muHandler.removeHandler(); } if (mmHandler != null) { mmHandler.removeHandler(); } if (aCaptionWidget instanceof Widget) { captionWidget = (Widget) aCaptionWidget; } else { captionWidget = new Caption(aCaptionWidget.getHTML()); } if (captionWidget != null) { mdHandler = captionWidget.addDomHandler(new MouseDownHandler() { @Override public void onMouseDown(MouseDownEvent event) { event.preventDefault(); event.stopPropagation(); focus(); if (movable && !maximized) { DOM.setCapture(captionWidget.getElement()); mouseScreenX = event.getScreenX(); mouseScreenY = event.getScreenY(); String tLeft = getMovableTarget().getElement().getStyle().getLeft(); targetScrollLeft = Integer.parseInt(tLeft.substring(0, tLeft.length() - 2)); String tTop = getMovableTarget().getElement().getStyle().getTop(); targetScrollTop = Integer.parseInt(tTop.substring(0, tTop.length() - 2)); beginMoving(); } } }, MouseDownEvent.getType()); muHandler = captionWidget.addDomHandler(new MouseUpHandler() { @Override public void onMouseUp(MouseUpEvent event) { event.preventDefault(); event.stopPropagation(); if (movable && !maximized) { DOM.releaseCapture(captionWidget.getElement()); endMoving(); } } }, MouseUpEvent.getType()); mmHandler = captionWidget.addDomHandler(new MouseMoveHandler() { @Override public void onMouseMove(MouseMoveEvent event) { if (movable && !maximized) { if (DOM.getCaptureElement() == captionWidget.getElement()) { event.preventDefault(); event.stopPropagation(); int dx = event.getScreenX() - mouseScreenX; int dy = event.getScreenY() - mouseScreenY; setPosition(targetScrollLeft + dx >= 0 ? targetScrollLeft + dx : 0, targetScrollTop + dy >= 0 ? targetScrollTop + dy : 0); } } } }, MouseMoveEvent.getType()); verticalPanel.insert(captionWidget, 0); } } }