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

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

Introduction

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

Prototype

@Override
    public int getAbsoluteRight() 

Source Link

Usage

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

License:Open Source License

/**
 * Helper method to position a submenu on the left side of a menu entry.<p>
 * /*from   w  ww . j a v a  2 s  .  co  m*/
 * @param widgetEntry the widget entry relative to which the submenu should  be positioned 
 */
protected void positionNextToMenuEntry(final ChoiceMenuEntryWidget widgetEntry) {

    Element elem = getElement();
    elem.getStyle().setPosition(Style.Position.ABSOLUTE);
    Element referenceElement = null;
    int startX = -2000;
    int startY = -2000;
    int deltaX = 0;
    int deltaY = 0;
    referenceElement = widgetEntry.getElement();
    Style style = elem.getStyle();
    style.setLeft(startX, Unit.PX);
    style.setTop(startY, Unit.PX);
    int myRight = elem.getAbsoluteRight();
    int myTop = elem.getAbsoluteTop();
    int refLeft = referenceElement.getAbsoluteLeft();
    int refTop = referenceElement.getAbsoluteTop();
    int newLeft = startX + (refLeft - myRight) + deltaX;
    int newTop;
    if (openAbove(referenceElement)) {
        int myHeight = elem.getOffsetHeight();
        int refHeight = referenceElement.getOffsetHeight();
        newTop = startY + ((refTop + refHeight) - (myTop + myHeight)) + deltaY;
    } else {
        newTop = startY + (refTop - myTop) + deltaY;
    }
    style.setLeft(newLeft, Unit.PX);
    style.setTop(newTop, Unit.PX);
}

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

@Override
public void maximize() {
    if (!maximized) {
        restoreSnapshot();//  ww w . j a v a2 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 int closerOffset(Element ele, int relX) {
    return ((relX - ele.getAbsoluteLeft()) <= (ele.getAbsoluteRight() - relX)) ? 0 : 1;
}

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

License:Apache License

private static boolean contains(Element ele, int relX, int relY) {
    /*/*ww  w  .  j a  v  a 2  s.c  o  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;//w w  w.  j  a va  2 s  . co 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.DetailGrid.java

License:Open Source License

private void setEditing() {
    editingGrid = new GridInlineEditing<DetailsDTO>(this) {

        @SuppressWarnings("rawtypes")
        @Override//from ww  w.j a  va  2  s.  co m
        protected <N, O> void doStartEditing(final com.sencha.gxt.widget.core.client.grid.Grid.GridCell cell) {
            super.doStartEditing(cell);
            final ColumnModel<DetailsDTO> columnModel = cm;
            setEditorDimension(cell, columnModel);
        }

        private void setEditorDimension(final com.sencha.gxt.widget.core.client.grid.Grid.GridCell cell,
                final ColumnModel<DetailsDTO> columnModel) {
            if (null != columnModel) {
                final ColumnConfig<DetailsDTO, ?> columnConfig = columnModel.getColumn(cell.getCol());
                if (null != columnConfig) {
                    final IsField editor = getEditor(columnConfig);
                    final Element cellElement = getView().getCell(cell.getRow(), cell.getCol());
                    if (editor instanceof Component) {
                        final Component field = (Component) editor;
                        final int client_y = cellElement.getOffsetTop();
                        final int client_x = cellElement.getOffsetLeft();
                        final int margin = Math.abs(cellElement.getAbsoluteLeft() - client_x) / 2;
                        final int width = cellElement.getAbsoluteRight() - client_x - margin;
                        field.setWidth(250);
                        field.setPosition(client_x, client_y);
                    }
                }
            }
        }

    };
}

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//  w w  w.  j a v a2  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.ephesoft.gxt.rv.client.widget.DataTableGrid.java

License:Open Source License

private void setEditable() {
    editingGrid = new GridInlineEditing<Row>(this) {

        @Override//from ww  w.  j  a v a  2  s  . c  o m
        protected <N, O> void doStartEditing(final com.sencha.gxt.widget.core.client.grid.Grid.GridCell cell) {
            super.doStartEditing(cell);
            final ColumnModel<Row> columnModel = getColumnModel();
            if (null != columnModel) {
                final ColumnConfig<Row, ?> columnConfig = columnModel.getColumn(cell.getCol());
                if (null != columnConfig) {
                    final IsField editor = getEditor(columnConfig);
                    final Element cellElement = DataTableGrid.this.getView().getCell(cell.getRow(),
                            cell.getCol());
                    if (editor instanceof Field) {
                        final Field field = (Field) editor;
                        final int client_y = cellElement.getOffsetTop();
                        final int client_x = cellElement.getOffsetLeft();
                        final int margin = Math.abs(cellElement.getAbsoluteLeft() - client_x) / 2;
                        final int width = cellElement.getAbsoluteRight() - client_x - margin;
                        field.setWidth(width);
                        field.setPosition(client_x, client_y);
                        if (field instanceof ColumnSuggestionBox) {
                            ColumnSuggestionBox columnSuggestionBox = (ColumnSuggestionBox) field;
                            addAlternateValue(columnSuggestionBox, cell);
                        }
                    }
                }
            }
        }
    };
    this.setEditors();
}

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;/*  w  ww  . ja  va 2s.  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.SheetTabSheet.java

private void updateInputSize() {
    String text = input.getValue();
    if (text.length() > 31) {
        text = text.substring(0, 31);//from   w  ww .ja  va2 s. c o  m
        input.setValue(text);
    }
    tempElement.setInnerText(text);
    int textWidth = tempElement.getOffsetWidth();
    if (textWidth < 50) {
        textWidth = 50;
    }
    // check that the edited tab doesn't overflow the tab sheet
    Element selectedTab = (Element) tabs.get(selectedTabIndex).cast();
    int rootAbsoluteRight = root.getAbsoluteRight();
    int selectedTabAbsoluteRight = selectedTab.getAbsoluteRight() + 10;
    while (selectedTabAbsoluteRight > rootAbsoluteRight && tabScrollIndex < (tabs.length() - 1)) {
        double width = getTabWidth(tabScrollIndex);
        selectedTabAbsoluteRight -= width;
        tabScrollMargin -= width;
        tabScrollIndex++;
    }
    container.getStyle().setMarginLeft(tabScrollMargin, Unit.PX);
    input.getStyle().setWidth(textWidth + 5, Unit.PX);
    selectedTab.getStyle().setWidth(textWidth, Unit.PX);
}