Java Code Examples for com.google.gwt.dom.client.NativeEvent.BUTTON_LEFT

The following are Jave code examples for showing how to use BUTTON_LEFT of the com.google.gwt.dom.client.NativeEvent class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
Example 1
Project: calendar-component   File: DateCellDayItem.java   Source Code and License Vote up 5 votes
@Override
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().isItemMoveAllowed() && getCalendarItem().isMoveable())
            || (clickTargetsResize() && getCalendarItem().isResizeable())) {

        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) calendarItem.getStartTime().clone();
        startDatetimeTo = (Date) calendarItem.getEndTime().clone();
        Event.setCapture(getElement());
    }

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

    /*
     * We need to stop the event propagation or else the WeekGrid range
     * select will kick in
     */
    event.stopPropagation();
    event.preventDefault();
}
 
Example 2
Project: calendar-component   File: DateCellDayItem.java   Source Code and License Vote up 5 votes
@Override
public void onMouseUp(MouseUpEvent event) {
    if (mouseMoveCanceled
            || event.getNativeButton() != NativeEvent.BUTTON_LEFT) {
        return;
    }

    Event.releaseCapture(getElement());
    setFocus(false);
    if (moveRegistration != null) {
        moveRegistration.removeHandler();
        moveRegistration = null;
    }

    int endX = event.getClientX();
    int endY = event.getClientY();
    int xDiff = 0, yDiff = 0;
    if (startX != -1 && startY != -1) {
        // Drag started
        xDiff = startX - endX;
        yDiff = startY - endY;
    }

    startX = -1;
    startY = -1;
    mouseMoveStarted = false;
    Style s = getElement().getStyle();
    s.setZIndex(1);

    if (!clickTargetsResize()) {

        // check if mouse has moved over threshold of 3 pixels
        boolean mouseMoved = (xDiff < -3 || xDiff > 3 || yDiff < -3 || yDiff > 3);

        if (!weekGrid.getCalendar().isDisabled() && mouseMoved) {
            // Item Move:
            // - calendar must be enabled
            // - calendar must not be in read-only mode
            weekGrid.itemMoved(this);

        } else if (!weekGrid.getCalendar().isDisabled() && getCalendarItem().isClickable()) {
            // Item Click:
            // - calendar must be enabled (read-only is allowed)
            EventTarget et = event.getNativeEvent().getEventTarget();
            Element e = Element.as(et);
            if (e == caption || e == eventContent
                    || e.getParentElement() == caption) {
                if (weekGrid.getCalendar().getItemClickListener() != null) {
                    weekGrid.getCalendar().getItemClickListener().itemClick(calendarItem);
                }
            }
        }

    } else {
        // click targeted resize bar
        removeGlobalResizeStyle();
        if (weekGrid.getCalendar().getItemResizeListener() != null) {
            weekGrid.getCalendar().getItemResizeListener().itemResized(calendarItem);
        }
        dateCell.recalculateItemWidths();
    }
}
 
Example 3
Project: calendar-component   File: SimpleDayCell.java   Source Code and License Vote up 5 votes
@Override
public void onMouseUp(MouseUpEvent event) {
    if (event.getNativeButton() != NativeEvent.BUTTON_LEFT) {
        return;
    }

    if (moveRegistration != null) {
        Event.releaseCapture(getElement());
        moveRegistration.removeHandler();
        moveRegistration = null;
        keyDownHandler.removeHandler();
        keyDownHandler = null;
    }

    Widget w = (Widget) event.getSource();
    if (w == bottomspacer && monthEventMouseDown) {
        GWT.log("Mouse up over bottomspacer");

    } else if (clickedWidget instanceof MonthItemLabel  && monthEventMouseDown) {

        MonthItemLabel mel = (MonthItemLabel) clickedWidget;

        int endX = event.getClientX();
        int endY = event.getClientY();
        int xDiff = 0, yDiff = 0;
        if (startX != -1 && startY != -1) {
            xDiff = startX - endX;
            yDiff = startY - endY;
        }
        startX = -1;
        startY = -1;
        prevDayDiff = 0;
        prevWeekDiff = 0;

        if (xDiff < -3 || xDiff > 3 || yDiff < -3 || yDiff > 3) {
            itemMoved(movingItem);

        } else if (calendar.getItemClickListener() != null) {
            CalendarItem e = getItemByWidget(mel);

            if(e.isClickable())
            calendar.getItemClickListener().itemClick(e);
        }

        movingItem = null;

    } else if (w == this) {
        getMonthGrid().setSelectionReady();

    } else if (w instanceof Label && labelMouseDown) {
        if (calendar.getDateClickListener() != null) {
            calendar.getDateClickListener().dateClick(DateConstants.toRPCDate(date));
        }
    }

    monthEventMouseDown = false;
    labelMouseDown = false;
    clickedWidget = null;
}
 
Example 4
Project: calendar-component   File: SimpleDayCell.java   Source Code and License Vote up 5 votes
@Override
public void onMouseDown(MouseDownEvent event) {

    if (calendar.isDisabled() || event.getNativeButton() != NativeEvent.BUTTON_LEFT) {
        return;
    }

    Widget w = (Widget) event.getSource();
    clickedWidget = w;

    if (w instanceof MonthItemLabel) {

        // event clicks should be allowed even when read-only
        monthEventMouseDown = true;

        if (calendar.isItemMoveAllowed()
                && ((MonthItemLabel)w).getCalendarItem().isMoveable()) {
            startCalendarItemDrag(event, (MonthItemLabel) w);
        }

    } else if (w == bottomspacer) {

        if (extended) {
            setLimitedCellHeight();
        } else {
            setUnlimitedCellHeight();
        }

        reDraw(true);

    } else if (w instanceof Label) {
        labelMouseDown = true;

    } else if (w == this && !extended) {

        MonthGrid grid = getMonthGrid();
        if (grid.isEnabled() && calendar.isRangeSelectAllowed()) {
            grid.setSelectionStart(this);
            grid.setSelectionEnd(this);
        }
    }

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