Example usage for com.google.gwt.dom.client Element getAbsoluteBottom

List of usage examples for com.google.gwt.dom.client Element getAbsoluteBottom

Introduction

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

Prototype

@Override
    public int getAbsoluteBottom() 

Source Link

Usage

From source file:com.alkacon.acacia.client.ui.ChoiceSubmenu.java

License:Open Source License

/**
 * Checks whether the submenu should be opened above instead of below.<p>
 * //from   w  ww . j ava 2 s.  com
 * @param referenceElement the reference element 
 * @return true if the new submenu should be opened above 
 */
public boolean openAbove(Element referenceElement) {

    int windowTop = Window.getScrollTop();
    int windowBottom = Window.getScrollTop() + Window.getClientHeight();
    int spaceAbove = referenceElement.getAbsoluteTop() - windowTop;
    int spaceBelow = windowBottom - referenceElement.getAbsoluteBottom();
    return spaceAbove > spaceBelow;
}

From source file:com.bearsoft.gwt.ui.containers.window.WindowPanel.java

@Override
public void maximize() {
    if (!maximized) {
        restoreSnapshot();/*from ww  w .  j  a va2  s .c o m*/
        maximized = true;
        updateDecorCursors();
        snapshotMetrics();
        // editing
        Element movableElement = getMovableTarget().getElement();
        Style targetStyle = getWidget().getElement().getStyle(); // content
        int leftInset = getWidget().getElement().getAbsoluteLeft() - movableElement.getAbsoluteLeft();
        int rightInset = movableElement.getAbsoluteRight() - getWidget().getElement().getAbsoluteRight();
        int hInsets = leftInset + rightInset;
        int topInset = getWidget().getElement().getAbsoluteTop() - movableElement.getAbsoluteTop();
        int bottomInset = movableElement.getAbsoluteBottom() - getWidget().getElement().getAbsoluteBottom();
        int vInsets = topInset + bottomInset;
        Element parentElement = getMovableTarget().getParent().getElement();
        int parentScrollWidth = parentElement.getScrollWidth();
        int parentScrollHeight;
        if (parentElement == Document.get().getBody())// Some browsers
                                                      // return incorrect
                                                      // height for body
                                                      // element
        {
            parentScrollHeight = Document.get().getClientHeight();
        } else {
            parentScrollHeight = parentElement.getScrollHeight();
        }
        targetStyle.setWidth(parentScrollWidth - hInsets, Style.Unit.PX);
        targetStyle.setHeight(parentScrollHeight - vInsets, Style.Unit.PX);
        // editing
        targetStyle = movableElement.getStyle(); // window
        targetStyle.setLeft(0, Style.Unit.PX);
        targetStyle.setTop(0, Style.Unit.PX);
        onResize();
        MaximizeEvent.<WindowUI>fire(this, this);
    }
}

From source file:com.bfr.client.selection.RangeEndPoint.java

License:Apache License

private static boolean contains(Element ele, int relX, int relY) {
    /*/*w w  w.j a va 2 s .co  m*/
    int l = ele.getAbsoluteLeft();
    int r = ele.getAbsoluteRight();
    int t = ele.getAbsoluteTop();
    int b = ele.getAbsoluteBottom();
    */
    return ((ele.getAbsoluteLeft() <= relX) && (ele.getAbsoluteRight() >= relX)
            && (ele.getAbsoluteTop() <= relY) && (ele.getAbsoluteBottom() >= relY));
}

From source file:com.bfr.client.selection.RangeEndPoint.java

License:Apache License

private static int getLocDistance(Element ele, int relX, int relY) {

    int top = ele.getAbsoluteTop();
    int bot = ele.getAbsoluteBottom();

    int res = 0;/*from w  w  w.  java2  s  .c o m*/
    if (relY < bot) {
        res = bot - relY;
    } else if (relY > top) {
        res = relY - top;
    }

    int left = ele.getAbsoluteLeft();
    int right = ele.getAbsoluteRight();
    if (relX < left) {
        res += left - relX;
    } else if (relX > right) {
        res += right - relX;
    }

    return res;
}

From source file:com.ephesoft.gxt.core.client.ui.widget.Grid.java

License:Open Source License

private GridInlineEditing<T> getGridEditing() {
    return new GridInlineEditing<T>(this) {

        @Override/*ww  w .j ava  2 s  . c  o m*/
        protected <N, O> void doStartEditing(com.sencha.gxt.widget.core.client.grid.Grid.GridCell cell) {
            super.doStartEditing(cell);
            ColumnModel<T> columnModel = getColumnModel();
            if (null != columnModel) {
                ColumnConfig<T, ?> columnConfig = columnModel.getColumn(cell.getCol());
                if (null != columnConfig) {
                    IsField<T> editor = getEditor(columnConfig);
                    Element cellElement = Grid.this.getView().getCell(cell.getRow(), cell.getCol());
                    if (editor instanceof Field) {
                        Field<T> field = (Field<T>) editor;
                        Widget editorWidget = editor.asWidget();
                        int client_y = cellElement.getOffsetTop();
                        int client_x = cellElement.getOffsetLeft();
                        int width = cellElement.getAbsoluteRight() - cellElement.getAbsoluteLeft();
                        int height = cellElement.getAbsoluteBottom() - cellElement.getAbsoluteTop() + 3;
                        field.setPixelSize(width, height);
                        editorWidget.getElement().getStyle().setTop(client_y, Unit.PX);
                        editorWidget.getElement().getStyle().setLeft(client_x, Unit.PX);
                    }
                }
            }
        }
    };
}

From source file:com.smartgwt.mobile.client.widgets.tableview.TableView.java

License:Open Source License

@Override
public void onBrowserEvent(Event event) {
    super.onBrowserEvent(event);

    if (!isEnabled())
        return;/*from  w w w.  jav a 2 s. c o m*/
    final Element targetElem = EventUtil.getTargetElem(event);
    if (targetElem != null) {
        final Element element;
        final JsArray<Touch> touches;
        final int clientX, clientY;
        final boolean wasContextClickFired;
        switch (event.getTypeInt()) {
        case Event.ONMOUSEDOWN:
            onStart(event, null);
            break;
        case Event.ONTOUCHSTART:
            touches = event.getTouches();
            if (touches.length() == 1 && touchIdentifier == null) {
                onStart(event, touches.get(0));
            } else {
                // Another finger is touching the screen.
                onEnd(event);
            }
            break;
        case Event.ONMOUSEMOVE:
            if (touchActive) {
                clientX = event.getClientX();
                clientY = event.getClientY();
                if (Math.abs(touchPointX - clientX) >= 10 || Math.abs(touchPointY - clientY) >= 10) {
                    onEnd(event);
                }
            }
            break;
        case Event.ONTOUCHMOVE:
            if (touchActive) {
                touches = event.getTouches();
                if (touches.length() == 1 && touchIdentifier != null) {
                    final Touch touch = touches.get(0);
                    if (touch.getIdentifier() == touchIdentifier.intValue()) {
                        clientX = touch.getClientX();
                        clientY = touch.getClientY();
                        if (Math.abs(touchPointX - clientX) >= 10 || Math.abs(touchPointY - clientY) >= 10) {
                            onEnd(event);
                        }
                    }
                }
            }
            break;
        case Event.ONMOUSEUP:
        case Event.ONMOUSEOUT:
        case Event.ONTOUCHEND:
        case Event.ONTOUCHCANCEL:
            element = activeElement;
            wasContextClickFired = contextClickFired;
            onEnd(event);
            if (element != null && wasContextClickFired) {
                onClick(element, null);
            }
            break;

        case Event.ONCLICK:
            if (!isEnabled())
                return;

            element = _findElement(event);
            onClick(element, targetElem);
            break;

        case Event.ONCONTEXTMENU:
            if (!isEnabled())
                return;

            element = _findElement(event);
            if (element != null) {
                // Find the "context clickable element".
                // The context clickable element is the title element, unless there
                // is no title element, in which case it is the <li>.
                Element contextClickableElement = element;
                final NodeList<Node> children = element.getChildNodes();
                final int children_length = children.getLength();
                for (int i = 0; i < children_length; ++i) {
                    final Node child = children.getItem(i);
                    if (child.getNodeType() != Node.ELEMENT_NODE)
                        continue;
                    final Element childElem = (Element) child;
                    if (ElementUtil.hasClassName(childElem, TableView.RECORD_TITLE_CLASS_NAME)) {
                        contextClickableElement = childElem;
                        if (touchActive)
                            contextClickFired = true;
                        break;
                    }
                }

                if (contextClickableElement.isOrHasChild(targetElem)) {
                    final Integer recordIndex = _findRecordIndex(element);
                    if (recordIndex != null) {
                        final Record record = _getData().get(recordIndex.intValue());
                        final boolean cancelled = RowContextClickEvent._fire(this, -1, record,
                                recordIndex.intValue());
                        if (!cancelled) {
                            final Menu contextMenu = getContextMenu();
                            if (contextMenu != null) {
                                contextClickableElement.addClassName(_CSS.contextClickedElementClass());
                                final Object recordID = getRecordId(record);
                                final Element li = elementMap.get(recordID);
                                assert li != null;
                                final Element finalContextClickableElement = contextClickableElement;
                                new BeforeMenuHiddenHandler() {

                                    private HandlerRegistration beforeMenuHiddenRegistration = contextMenu
                                            ._addBeforeMenuHiddenHandler(this);

                                    @Override
                                    public void _onBeforeMenuHidden(BeforeMenuHiddenEvent event) {
                                        beforeMenuHiddenRegistration.removeHandler();
                                        finalContextClickableElement
                                                .removeClassName(_CSS.contextClickedElementClass());
                                    }
                                };
                                contextMenu._showAt(this, event.getClientX(), event.getClientY(),
                                        contextClickableElement.getAbsoluteLeft(),
                                        contextClickableElement.getAbsoluteRight(),
                                        contextClickableElement.getAbsoluteTop(),
                                        contextClickableElement.getAbsoluteBottom());
                                if (touchActive)
                                    contextClickFired = true;
                                break;
                            }
                        }
                    }
                }
            }
            break;
        }
    }
}

From source file:com.vaadin.addon.spreadsheet.client.SheetWidget.java

protected Cell getRealEventTargetCell(final int clientX, final int clientY, final Cell cell) {
    Cell mergedCell = getMergedCell(toKey(cell.getCol(), cell.getRow()));
    if (mergedCell == null) {
        Element target = cell.getElement();

        int newX = cell.getCol();
        int newY = cell.getRow();
        boolean changed = false;

        if (clientX < target.getAbsoluteLeft() && cell.getCol() > firstColumnIndex) {
            newX = cell.getCol() - 1;//  w  w w .j  av  a2 s  .co  m
            changed = true;
        } else if (clientX > target.getAbsoluteRight() && cell.getCol() < lastColumnIndex) {
            newX = cell.getCol() + 1;
            changed = true;
        }

        if (clientY < target.getAbsoluteTop() && cell.getRow() > firstRowIndex) {
            newY = cell.getRow() - 1;
            changed = true;
        } else if (clientY > target.getAbsoluteBottom() && cell.getRow() < lastRowIndex) {
            newY = cell.getRow() + 1;
            changed = true;
        }

        if (changed) {
            return getRealEventTargetCell(clientX, clientY, getCell(newX, newY));
        }

        return cell;
    } else {
        return mergedCell;
    }
}

From source file:com.vaadin.client.widgets.Grid.java

License:Apache License

private int getFirstVisibleRowIndex() {
    int firstRowIndex = escalator.getVisibleRowRange().getStart();
    int headerBottom = escalator.getHeader().getElement().getAbsoluteBottom();
    Element firstRow = escalator.getBody().getRowElement(firstRowIndex);

    while (firstRow.getAbsoluteBottom() < headerBottom) {
        firstRow = escalator.getBody().getRowElement(++firstRowIndex);
    }//from  www  . j a  v a2  s  .c o  m

    return firstRowIndex;
}

From source file:de.catma.ui.client.ui.tagger.editor.TaggerEditor.java

License:Open Source License

private Element findClosestSibling(Element start) {
    Element curSibling = start;

    while ((curSibling != null) && !((lastClientX > curSibling.getAbsoluteLeft())
            && (lastClientX < curSibling.getAbsoluteRight()) && (lastClientY > curSibling.getAbsoluteTop())
            && (lastClientY < curSibling.getAbsoluteBottom()))) {

        curSibling = curSibling.getNextSiblingElement();
    }//from ww  w. j  a v a 2s .co m

    return curSibling;
}

From source file:jetbrains.jetpad.cell.toDom.Tooltip.java

License:Apache License

static int height(Element popup) {
    int height = popup.getAbsoluteBottom() - popup.getAbsoluteTop();
    return isTooltip(popup) ? height + PSEUDO_ELEMENT_HEIGHT : height;
}