Example usage for com.google.gwt.user.client Event getScreenX

List of usage examples for com.google.gwt.user.client Event getScreenX

Introduction

In this page you can find the example usage for com.google.gwt.user.client Event getScreenX.

Prototype

public final int getScreenX() 

Source Link

Document

Gets the mouse x-position on the user's display.

Usage

From source file:com.ikon.frontend.client.widget.foldertree.ExtendedTree.java

License:Open Source License

@Override
public void onBrowserEvent(Event event) {

    // When de button mouse is released
    if (DOM.eventGetType(event) == Event.ONMOUSEDOWN) {
        // When de button mouse is released
        mouseX = DOM.eventGetClientX(event);
        mouseY = DOM.eventGetClientY(event);

        // remove dragable item
        Main.get().dragable.clear();/*from w  w w .j  a va  2  s.com*/

        switch (DOM.eventGetButton(event)) {
        case Event.BUTTON_RIGHT:
            DOM.eventPreventDefault(event); // Prevent to fire event to browser
            flagPopup = true;
            mouseDownX = 0;
            mouseDownY = 0;
            dragged = false;
            Main.get().activeFolderTree.menuPopup.disableAllOptions();
            fireSelection(elementClicked(DOM.eventGetTarget(event)));
            break;
        default:
            flagPopup = false;
            // dragging is enable only if cursor is inside actual item
            dragged = isCursorInsideActualItem(elementClicked(DOM.eventGetTarget(event)));
            mouseDownX = event.getScreenX();
            mouseDownY = event.getClientY();
        }
    } else if (DOM.eventGetType(event) == Event.ONMOUSEMOVE) {
        mouseX = DOM.eventGetClientX(event);
        mouseY = DOM.eventGetClientY(event);
        if (Main.get().activeFolderTree.canDrag() && dragged && mouseDownX > 0 && mouseDownY > 0
                && evalDragPixelSensibility()) {
            TreeItem actualItem = Main.get().activeFolderTree.getActualItem();
            Main.get().dragable.show(actualItem.getHTML(), OriginPanel.TREE_ROOT);
            Main.get().activeFolderTree.fileBrowserRefreshDone();
            mouseDownX = 0;
            mouseDownY = 0;
            dragged = false;
        }
    } else if (DOM.eventGetType(event) == Event.ONMOUSEUP || DOM.eventGetType(event) == Event.ONCLICK
            || DOM.eventGetType(event) == Event.ONDBLCLICK) {
        mouseDownX = 0;
        mouseDownY = 0;
        dragged = false; // Always disabling the popup flag
    }

    // Prevent folder creation or renaming propagate actions to other tree nodes
    int action = Main.get().activeFolderTree.getFolderAction();

    if (action != FolderTree.ACTION_CREATE && action != FolderTree.ACTION_RENAME) {
        super.onBrowserEvent(event);
    }
}