Example usage for com.google.gwt.event.dom.client DragStartHandler DragStartHandler

List of usage examples for com.google.gwt.event.dom.client DragStartHandler DragStartHandler

Introduction

In this page you can find the example usage for com.google.gwt.event.dom.client DragStartHandler DragStartHandler.

Prototype

DragStartHandler

Source Link

Usage

From source file:co.fxl.gui.gwt.GWTElement.java

License:Open Source License

@SuppressWarnings("unchecked")
public R addDragStartListener(final IDraggable.IDragStartListener l) {
    draggable(true);/*w ww  .j av  a  2s.c  o  m*/
    container.widget.addDomHandler(new DragStartHandler() {
        @Override
        public void onDragStart(final DragStartEvent event) {
            event.setData("text", "dragging");
            l.onDragStart(new IDragStartEvent() {

                @Override
                public int offsetX() {
                    return event.getNativeEvent().getClientX()
                            - container.widget.getElement().getAbsoluteLeft();
                }

                @Override
                public int offsetY() {
                    return event.getNativeEvent().getClientY() - container.widget.getElement().getAbsoluteTop();
                }

                @Override
                public IDragStartEvent dragImage(IElement<?> element) {
                    GWTElement<?, ?> gwtElement = (GWTElement<?, ?>) element;
                    Element domElement = gwtElement.getDOMElement();
                    if (domElement == null)
                        throw new RuntimeException("drag image element is null");
                    event.getDataTransfer().setDragImage(domElement, 0, 0);
                    return this;
                }

                @Override
                public IDragStartEvent iD(String iD) {
                    event.setData("text", iD);
                    return this;
                }
            });
        }
    }, DragStartEvent.getType());
    container.widget.addDomHandler(new DragEndHandler() {

        @Override
        public void onDragEnd(DragEndEvent event) {
            GWTDisplay.instance.resetScrollPanelTop();
            l.onDragEnd();
        }

    }, DragEndEvent.getType());
    return (R) this;
}

From source file:com.codenvy.ide.client.elements.widgets.element.ElementViewImpl.java

License:Open Source License

private void bind() {
    addMouseDownHandler(new MouseDownHandler() {
        @Override//from  w w  w  .  j  a v  a  2 s.  co  m
        public void onMouseDown(MouseDownEvent event) {
            int nativeButton = event.getNativeButton();

            if (NativeEvent.BUTTON_RIGHT == nativeButton) {
                delegate.onMouseRightButtonClicked(event.getClientX(), event.getClientY());
            }

            if (NativeEvent.BUTTON_LEFT == nativeButton) {
                delegate.onMouseLeftButtonClicked();
            }

            event.stopPropagation();
        }
    });

    addMouseOutHandler(new MouseOutHandler() {
        @Override
        public void onMouseOut(MouseOutEvent event) {
            delegate.onMouseOut();

            event.stopPropagation();
        }
    });

    addMouseOverHandler(new MouseOverHandler() {
        @Override
        public void onMouseOver(MouseOverEvent event) {
            delegate.onMouseOver();

            event.stopPropagation();
        }
    });

    addDragStartHandler(new DragStartHandler() {
        @Override
        public void onDragStart(DragStartEvent event) {
            // this code needs for stopping moving icon in the middle of the element
            event.getDataTransfer().setDragImage(getElement(), 0, 0);

            event.stopPropagation();
        }
    });

    addDragHandler(new DragHandler() {
        @Override
        public void onDrag(DragEvent event) {
            NativeEvent nativeEvent = event.getNativeEvent();

            delegate.onElementDragged(nativeEvent.getClientX(), nativeEvent.getClientY());

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

    addDragEndHandler(new DragEndHandler() {
        @Override
        public void onDragEnd(DragEndEvent event) {
            delegate.onDragFinished();

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

From source file:com.gwt2go.dev.client.ui.EditorViewImpl.java

License:Apache License

public EditorViewImpl() {

    area.ensureDebugId("cwRichText-area");
    area.setSize("100%", "14em");

    btnSelectedText.addClickHandler(new ClickHandler() {

        @Override/*from  w  w  w.  j  a  v a 2  s.co  m*/
        public void onClick(ClickEvent event) {
            // Window.alert(area.getElement().toString());
            com.google.gwt.user.client.Element iFrame = area.getElement();

            String txt = getSelectedElement(iFrame).toString();

            // String txt = EditorUtils.getSelectedElement(iFrame);
            Window.alert(txt);
            // String name = flipName("lyudminame");
            // Window.alert(name);
        }
    });

    // Add the components to a panel
    Grid grid = new Grid(5, 1);
    grid.setStyleName("cw-RichText");
    grid.setWidget(0, 0, toolbar);
    grid.setWidget(1, 0, area);
    grid.setWidget(2, 0, btnSelectedText);
    grid.setBorderWidth(1);

    toolbar.ensureDebugId("cwRichText-toolbar");
    toolbar.setWidth("100%");

    viewPanel.getElement().appendChild(nameSpan);

    viewPanel.add(grid);

    btnSelectedText.getElement().setDraggable(Element.DRAGGABLE_TRUE);
    btnSelectedText.addDragStartHandler(new DragStartHandler() {

        @Override
        public void onDragStart(DragStartEvent event) {
            // Required set data
            event.setData("text", "button drag");

            event.getDataTransfer().setDragImage(btnSelectedText.getElement(), 10, 10);
        }
    });

    initWidget(viewPanel);

}

From source file:com.gwt2go.dev.client.ui.widget.LazySimplePanel.java

License:Apache License

@Override
protected Widget createWidget() {
    SimplePanel panel = new SimplePanel();
    VerticalPanel vrPanel = new VerticalPanel();

    final Label label = new Label("Drag me");
    label.getElement().setDraggable(Element.DRAGGABLE_TRUE);

    label.addDragStartHandler(new DragStartHandler() {

        @Override/*w ww  .jav  a2  s. c  o  m*/
        public void onDragStart(DragStartEvent event) {
            // required
            event.setData("text", "Hello World");

            // optinal: show copy of the image
            event.getDataTransfer().setDragImage(label.getElement(), 10, 10);
        }
    });

    // some widgets do not implement drag handles
    // for that reason you can use addDomHandler()
    /* label.addDomHandler(new DragStartHandler() {
       @Override
       public void onDragStart(DragStartEvent event) {
    // required
    event.setData("text", "Hello World again;)");
            
    // optional
    event.getDataTransfer().setDragImage(label.getElement(), 10, 10);
       }
    }, DragStartEvent.getType()); */

    final Label target = new Label("Drag onto me");
    // required: you must add dragoverhandler to create a target
    target.addDragOverHandler(new DragOverHandler() {
        @Override
        public void onDragOver(DragOverEvent event) {
            target.getElement().getStyle().setBackgroundColor("#ffa");
        }
    });

    // add drop hanlder
    target.addDropHandler(new DropHandler() {
        @Override
        public void onDrop(DropEvent event) {
            // prevent the native text drop
            event.preventDefault();

            // get the data out of the event
            String data = event.getData("text");
            target.setText(data);
        }
    });

    panel.add(vrPanel);
    vrPanel.getElement().appendChild(this.nameSpan);
    vrPanel.add(label);
    vrPanel.add(target);
    return panel;
}

From source file:com.ponysdk.ui.terminal.ui.PTWidget.java

License:Apache License

private void addDomHandler(final PTInstruction addHandler, final Widget widget, final int domHandlerType,
        final UIService uiService) {

    final DomHandlerType h = DomHandlerType.values()[domHandlerType];
    switch (h) {/*from   w w  w. j a v  a  2  s. c om*/
    case CLICK:
        widget.addDomHandler(new ClickHandler() {

            @Override
            public void onClick(final ClickEvent event) {
                triggerOnClick(addHandler, widget, domHandlerType, uiService, event);
            }

        }, ClickEvent.getType());
        break;
    case MOUSE_OVER:
        widget.addDomHandler(new MouseOverHandler() {

            @Override
            public void onMouseOver(final MouseOverEvent event) {
                triggerDomEvent(addHandler, domHandlerType, uiService);
            }

        }, MouseOverEvent.getType());
        break;
    case BLUR:
        widget.addDomHandler(new BlurHandler() {

            @Override
            public void onBlur(final BlurEvent event) {
                triggerDomEvent(addHandler, domHandlerType, uiService);
            }

        }, BlurEvent.getType());
        break;
    case FOCUS:
        widget.addDomHandler(new FocusHandler() {

            @Override
            public void onFocus(final FocusEvent event) {
                triggerDomEvent(addHandler, domHandlerType, uiService);
            }

        }, FocusEvent.getType());
        break;
    case MOUSE_OUT:
        widget.addDomHandler(new MouseOutHandler() {

            @Override
            public void onMouseOut(final MouseOutEvent event) {
                triggerDomEvent(addHandler, domHandlerType, uiService);
            }

        }, MouseOutEvent.getType());
        break;
    case MOUSE_DOWN:
        widget.addDomHandler(new MouseDownHandler() {

            @Override
            public void onMouseDown(final MouseDownEvent event) {
                triggerDomEvent(addHandler, domHandlerType, uiService);
            }

        }, MouseDownEvent.getType());
        break;
    case MOUSE_UP:
        widget.addDomHandler(new MouseUpHandler() {

            @Override
            public void onMouseUp(final MouseUpEvent event) {
                triggerDomEvent(addHandler, domHandlerType, uiService);
            }

        }, MouseUpEvent.getType());
        break;
    case KEY_PRESS:
        widget.addDomHandler(new KeyPressHandler() {

            @Override
            public void onKeyPress(final KeyPressEvent event) {
                triggerOnKeyPress(addHandler, domHandlerType, uiService, event);
            }

        }, KeyPressEvent.getType());
        break;
    case KEY_UP:

        if (widget instanceof TextBoxBase) {
            final TextBoxBase textBox = (TextBoxBase) widget;
            textBox.addKeyUpHandler(new KeyUpHandler() {

                @Override
                public void onKeyUp(final KeyUpEvent event) {
                    final PTInstruction changeHandlerInstruction = new PTInstruction();
                    changeHandlerInstruction.setObjectID(addHandler.getObjectID());
                    changeHandlerInstruction.put(TYPE.KEY, TYPE.KEY_.EVENT);
                    changeHandlerInstruction.put(HANDLER.KEY, HANDLER.KEY_.STRING_VALUE_CHANGE_HANDLER);
                    changeHandlerInstruction.put(PROPERTY.VALUE, textBox.getText());

                    final PTInstruction eventInstruction = buildEventInstruction(addHandler, domHandlerType);
                    eventInstruction.put(PROPERTY.VALUE, event.getNativeEvent().getKeyCode());

                    if (addHandler.containsKey(PROPERTY.KEY_FILTER)) {
                        final JSONArray jsonArray = addHandler.get(PROPERTY.KEY_FILTER).isArray();
                        for (int i = 0; i < jsonArray.size(); i++) {
                            final JSONNumber keyCode = jsonArray.get(i).isNumber();
                            if (keyCode.doubleValue() == event.getNativeEvent().getKeyCode()) {
                                uiService.stackEvent(changeHandlerInstruction);
                                uiService.stackEvent(eventInstruction);
                                uiService.flushEvents();
                                break;
                            }
                        }
                    } else {
                        uiService.stackEvent(changeHandlerInstruction);
                        uiService.stackEvent(eventInstruction);
                        uiService.flushEvents();
                    }
                }
            });
        } else {
            widget.addDomHandler(new KeyUpHandler() {

                @Override
                public void onKeyUp(final KeyUpEvent event) {
                    final PTInstruction eventInstruction = buildEventInstruction(addHandler, domHandlerType);
                    eventInstruction.put(PROPERTY.VALUE, event.getNativeEvent().getKeyCode());
                    if (eventInstruction.containsKey(PROPERTY.KEY_FILTER)) {
                        final JSONArray jsonArray = addHandler.get(PROPERTY.KEY_FILTER).isArray();
                        for (int i = 0; i < jsonArray.size(); i++) {
                            final JSONNumber keyCode = jsonArray.get(i).isNumber();
                            if (keyCode.doubleValue() == event.getNativeEvent().getKeyCode()) {
                                uiService.triggerEvent(eventInstruction);
                                break;
                            }
                        }
                    } else {
                        uiService.triggerEvent(eventInstruction);
                    }
                }
            }, KeyUpEvent.getType());
        }
        break;
    case DRAG_START:
        widget.getElement().setDraggable(Element.DRAGGABLE_TRUE);
        widget.addBitlessDomHandler(new DragStartHandler() {

            @Override
            public void onDragStart(final DragStartEvent event) {
                event.setData("text", Long.toString(addHandler.getObjectID()));
                event.getDataTransfer().setDragImage(uiObject.getElement(), 10, 10);
                triggerDomEvent(addHandler, domHandlerType, uiService);
            }
        }, DragStartEvent.getType());
        break;
    case DRAG_END:
        widget.addBitlessDomHandler(new DragEndHandler() {

            @Override
            public void onDragEnd(final DragEndEvent event) {
                triggerDomEvent(addHandler, domHandlerType, uiService);
            }
        }, DragEndEvent.getType());
        break;
    case DRAG_ENTER:
        widget.addBitlessDomHandler(new DragEnterHandler() {

            @Override
            public void onDragEnter(final DragEnterEvent event) {
                triggerDomEvent(addHandler, domHandlerType, uiService);
            }
        }, DragEnterEvent.getType());
        break;
    case DRAG_LEAVE:
        widget.addBitlessDomHandler(new DragLeaveHandler() {

            @Override
            public void onDragLeave(final DragLeaveEvent event) {
                triggerDomEvent(addHandler, domHandlerType, uiService);
            }
        }, DragLeaveEvent.getType());
        break;
    case DROP:
        widget.addBitlessDomHandler(new DragOverHandler() {

            @Override
            public void onDragOver(final DragOverEvent event) {
                // required by GWT api
                // triggerDomEvent(addHandler, domHandlerType, uiService);
            }
        }, DragOverEvent.getType());

        widget.addBitlessDomHandler(new DropHandler() {

            @Override
            public void onDrop(final DropEvent event) {
                event.preventDefault();
                final String dragWidgetID = event.getData("text");
                final PTInstruction eventInstruction = buildEventInstruction(addHandler, domHandlerType);
                if (dragWidgetID != null)
                    eventInstruction.put(PROPERTY.DRAG_SRC, Long.parseLong(dragWidgetID));
                uiService.triggerEvent(eventInstruction);
            }
        }, DropEvent.getType());
        break;
    default:
        log.info("Handler not supported #" + h);
        break;
    }
}

From source file:com.preferanser.client.application.widgets.CardWidget.java

License:Open Source License

public void setHandlers(final Handlers handlers) {
    image.addMouseDownHandler(new MouseDownHandler() {
        @Override/*from w  ww . jav a 2  s. com*/
        public void onMouseDown(MouseDownEvent event) {
            handlers.onCardMouseDown(CardWidget.this, event);
        }
    });
    image.addDragStartHandler(new DragStartHandler() {
        @Override
        public void onDragStart(DragStartEvent event) {
            handlers.onCardDragStart(CardWidget.this, event);
        }
    });
    image.addDoubleClickHandler(new DoubleClickHandler() {
        @Override
        public void onDoubleClick(DoubleClickEvent event) {
            handlers.onCardDoubleClick(CardWidget.this, event);
        }
    });
}

From source file:de.swm.commons.mobile.client.widgets.LoadingIndicatorPopup.java

License:Apache License

/**
 * Default constructor./*from  w  ww . j a va  2  s . com*/
 */
public LoadingIndicatorPopup() {
    this(false);
    this.addDomHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            if (event != null) {
                event.stopPropagation();
            }
        }
    }, ClickEvent.getType());

    this.addDomHandler(new DragStartHandler() {
        @Override
        public void onDragStart(DragStartEvent event) {
            if (event != null) {
                event.stopPropagation();
            }
        }
    }, DragStartEvent.getType());

    this.addDomHandler(new DragEndHandler() {
        @Override
        public void onDragEnd(DragEndEvent event) {
            if (event != null) {
                event.stopPropagation();
            }
        }
    }, DragEndEvent.getType());

}

From source file:geogebra.web.gui.view.algebra.RadioButtonTreeItem.java

License:Open Source License

public void setDraggable() {

    getElement().setAttribute("position", "absolute");
    addDomHandler(new DragStartHandler() {

        public void onDragStart(DragStartEvent event) {
            event.setData("text", "draggginggg");
            event.getDataTransfer().setDragImage(getElement(), 10, 10);
            event.stopPropagation();// w  ww .  jav  a  2  s  . c o  m
            ((AlgebraViewW) av).dragStart(event, geo);
        }
    }, DragStartEvent.getType());

}

From source file:it.alexabbi.aproject.client.ui.second.SecondPageImpl.java

License:Open Source License

public SecondPageImpl() {
    logger.info("SecondPageImpl");
    initWidget(binder.createAndBindUi(this));

    Storage storage = Storage.getLocalStorageIfSupported();
    if (storage != null) {

        storage.setItem("a", "pippo");
    }//from   ww  w  . ja  v  a 2  s  . c  o m

    final String valore = storage.getItem("a");

    final Label label = new Label();
    label.setText("DRAG ME");
    label.getElement().setDraggable("TRUE");
    pannello.add(label);

    label.addDragStartHandler(new DragStartHandler() {

        @Override
        public void onDragStart(DragStartEvent event) {
            event.setData("prova", "DROPPATO");
            //event.getDataTransfer().setDragImage(label, 10, 10);
        }
    });
    final Label label2 = new Label();
    label2.setText("DROP HERE");
    pannello2.add(label2);

    label2.addDragOverHandler(new DragOverHandler() {

        @Override
        public void onDragOver(DragOverEvent event) {

            //label2.getElement().setTitle("cicco");
        }
    });

    label2.addDropHandler(new DropHandler() {

        @Override
        public void onDrop(DropEvent event) {
            // TODO Auto-generated method stub
            event.preventDefault();

            String data = event.getData("prova");
            label2.setText(data);
        }
    });

}

From source file:net.husoftware.client.spike.DragDropLabel.java

License:Open Source License

private void initDrag() {
    getElement().setDraggable(Element.DRAGGABLE_TRUE);

    addDragStartHandler(new DragStartHandler() {
        @Override//from  w  w  w  .  j  a v  a 2  s .c  o  m
        public void onDragStart(DragStartEvent event) {
            // Remember what's being dragged
            dragging = DragDropLabel.this;
            // Must set for FireFox
            event.setData("text", "hi there");

            // Copy the label image for the drag icon
            // 10,10 indicates the pointer offset, not the image size.
            event.getDataTransfer().setDragImage(getElement(), 10, 10);
        }
    });
}