Example usage for com.google.gwt.user.client Element getOffsetHeight

List of usage examples for com.google.gwt.user.client Element getOffsetHeight

Introduction

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

Prototype

@Override
    public int getOffsetHeight() 

Source Link

Usage

From source file:cc.kune.events.client.viewer.CalendarViewerPanel.java

License:GNU Affero Public License

/**
 * Instantiates a new calendar viewer panel.
 *
 * @param gsArmor/*w w w .ja  v a  2 s.c  o  m*/
 *          the gs armor
 * @param eventBus
 *          the event bus
 * @param i18n
 *          the i18n
 * @param guiProvider
 *          the gui provider
 * @param res
 *          the res
 * @param capabilitiesRegistry
 *          the capabilities registry
 * @param dragController
 *          the drag controller
 * @param contentDropControllerProv
 *          the content drop controller prov
 * @param containerDropControllerProv
 *          the container drop controller prov
 */
@Inject
public CalendarViewerPanel(final GSpaceArmor gsArmor, final EventBus eventBus,
        final I18nTranslationService i18n, final GuiProvider guiProvider, final CoreResources res,
        final ContentCapabilitiesRegistry capabilitiesRegistry, final KuneDragController dragController,
        final Provider<FolderContentDropController> contentDropControllerProv,
        final Provider<FolderContainerDropController> containerDropControllerProv,
        final InboxToContainerDropController inbDropController) {
    super(gsArmor, eventBus, i18n, capabilitiesRegistry, dragController, contentDropControllerProv,
            containerDropControllerProv, inbDropController);
    calendar = new Calendar();
    calendar.setSettings(setCalendarSettings());
    widget = calendar;
    calendar.sinkEvents(
            Event.ONMOUSEDOWN | Event.ONDBLCLICK | Event.KEYEVENTS | Event.ONMOUSEOVER | Event.ONCLICK);
    Event.addNativePreviewHandler(new NativePreviewHandler() {
        @Override
        public void onPreviewNativeEvent(final NativePreviewEvent eventPrev) {
            // We store click position in onder to show the menu
            final NativeEvent natEvent = eventPrev.getNativeEvent();
            if (Event.getTypeInt(natEvent.getType()) != Event.ONCLICK) {
                clientX = natEvent.getClientX();
                clientY = natEvent.getClientY();
                return;
            }
        }
    });
    contentTitle = new ContentTitleWidget(i18n, gsArmor, capabilitiesRegistry.getIconsRegistry());
    Window.addResizeHandler(new ResizeHandler() {
        @Override
        public void onResize(final ResizeEvent event) {
            resizeCalendar();
        }
    });
    tooltipPanel = new PopupPanel();
    Tooltip.to(tooltipPanel, "FIXME");
    addMouseOverHandler(new MouseOverHandler<Appointment>() {
        @Override
        public void onMouseOver(final MouseOverEvent<Appointment> event) {
            final Element element = (Element) event.getElement();
            tooltipPanel.setPopupPosition(DOM.getAbsoluteLeft(element),
                    DOM.getAbsoluteTop(element) + element.getOffsetHeight());
            tooltipPanel.show();
            if (Tooltip.getTip().isShowing()) {
                tooltipPanel.hide();
                Tooltip.getTip().hide();
            } else {
                Tooltip.getTip().showTemporally(tooltipPanel, tooltipText);
            }
            // NotifyUser.info("On mouse");
        }
    });
}

From source file:com.extjs.gxt.ui.client.dnd.GridDropTarget.java

License:sencha.com license

@Override
protected void showFeedback(DNDEvent event) {
    event.getStatus().setStatus(true);/*from w  w  w.jav  a  2  s  .c om*/
    if (feedback == Feedback.INSERT) {
        Element row = grid.getView().findRow(event.getTarget()).cast();

        if (row == null && grid.getStore().getCount() > 0) {
            row = grid.getView().getRow(grid.getStore().getCount() - 1).cast();
        }

        if (row != null) {
            int height = row.getOffsetHeight();
            int mid = height / 2;
            mid += row.getAbsoluteTop();
            int y = event.getClientY();
            before = y < mid;
            int idx = grid.getView().findRowIndex(row);

            activeItem = grid.getStore().getAt(idx);
            insertIndex = adjustIndex(event, idx);

            showInsert(event, row);
        } else {
            insertIndex = 0;
        }
    }
}

From source file:com.extjs.gxt.ui.client.dnd.ListViewDropTarget.java

License:sencha.com license

@Override
protected void showFeedback(DNDEvent event) {
    event.getStatus().setStatus(true);/*from   ww w  .ja va2s .c om*/
    if (feedback == Feedback.INSERT) {
        event.getStatus().setStatus(true);
        Element row = listView.findElement(event.getTarget()).cast();

        if (row == null && listView.getStore().getCount() > 0) {
            row = listView.getElement(listView.getStore().getCount() - 1).cast();
        }

        if (row != null) {
            int height = row.getOffsetHeight();
            int mid = height / 2;
            mid += row.getAbsoluteTop();
            int y = event.getClientY();
            before = y < mid;
            int idx = listView.findElementIndex(row);

            activeItem = listView.getStore().getAt(idx);
            insertIndex = adjustIndex(event, idx);

            showInsert(event, row);
        } else {
            insertIndex = 0;
        }
    }
}

From source file:com.extjs.gxt.ui.client.widget.grid.ColumnHeader.java

License:sencha.com license

protected void adjustCellWidth(Element cell, int width) {
    cell.getStyle().setPropertyPx("width", width);
    int adj = fly(cell).getFrameWidth("lr");
    Element inner = cell.getFirstChildElement().cast();

    fly(inner).setWidth(width - adj, true);
    if (isAttached()) {
        int before = cell.getOffsetHeight();
        fly(inner).setHeight(before, true);
        int after = cell.getOffsetHeight();
        // getting different values when some browsers are zoomed which is
        // causing the column heights to grow
        if (after != before) {
            fly(inner).setHeight(before + (before - after), true);
        }//from  w  w  w.  j av a 2s  . c om
    }
}

From source file:com.extjs.gxt.ui.client.widget.treepanel.TreePanel.java

License:sencha.com license

protected void moveFocus(Element selectedElem) {
    if (selectedElem == null)
        return;/*from  ww  w.  j  a v  a2 s  . c o m*/
    int containerLeft = getAbsoluteLeft();
    int containerTop = getAbsoluteTop();

    int left = selectedElem.getAbsoluteLeft() - containerLeft;
    int top = selectedElem.getAbsoluteTop() - containerTop;

    int width = selectedElem.getOffsetWidth();
    int height = selectedElem.getOffsetHeight();

    if (width == 0 || height == 0) {
        focusEl.setLeftTop(0, 0);
        return;
    }
    focusEl.setLeftTop(left, top);
}

From source file:com.google.gerrit.client.ui.FancyFlexTable.java

License:Apache License

protected void scrollIntoView(final int topRow, final int endRow) {
    final CellFormatter fmt = table.getCellFormatter();
    final Element top = DOM.getParent(fmt.getElement(topRow, C_ARROW));
    final Element end = DOM.getParent(fmt.getElement(endRow, C_ARROW));

    final int rTop = top.getAbsoluteTop();
    final int rEnd = end.getAbsoluteTop() + end.getOffsetHeight();
    final int rHeight = rEnd - rTop;

    final int sTop = Document.get().getScrollTop();
    final int sHeight = Document.get().getClientHeight();
    final int sEnd = sTop + sHeight;

    final int nTop;
    if (sHeight <= rHeight) {
        // The region is larger than the visible area, make the top
        // exactly the top of the region, its the most visible area.
        ///*from   ww w .  j a  va2 s . c o  m*/
        nTop = rTop;
    } else if (sTop <= rTop && rTop <= sEnd) {
        // At least part of the region is already visible.
        //
        if (rEnd <= sEnd) {
            // ... actually its all visible. Don't scroll.
            //
            return;
        }

        // Move only enough to make the end visible.
        //
        nTop = sTop + (rHeight - (sEnd - rTop));
    } else {
        // None of the region is visible. Make it visible.
        //
        nTop = rTop;
    }
    Document.get().setScrollTop(nTop);
}

From source file:com.google.gerrit.client.ui.NavigationTable.java

License:Apache License

protected void ensurePointerVisible() {
    final int max = table.getRowCount();
    int row = currentRow;
    final int init = row;
    if (row < 0) {
        row = 0;//  w ww  . j av  a 2s  .c  o  m
    } else if (max <= row) {
        row = max - 1;
    }

    final CellFormatter fmt = table.getCellFormatter();
    final int sTop = Document.get().getScrollTop();
    final int sEnd = sTop + Document.get().getClientHeight();

    while (0 <= row && row < max) {
        final Element cur = DOM.getParent(fmt.getElement(row, C_ARROW));
        final int cTop = cur.getAbsoluteTop();
        final int cEnd = cTop + cur.getOffsetHeight();

        if (cEnd < sTop) {
            row++;
        } else if (sEnd < cTop) {
            row--;
        } else {
            break;
        }
    }

    if (init != row) {
        movePointerTo(row, false);
    }
}

From source file:com.gwtm.ui.client.widgets.ScrollPanel.java

License:Apache License

private static void adjustScrollbar(ScrollPanel panel, double scrollPannerPos) {
    if (panel.scrollbar == null)
        return;/*from   w w w .jav a 2 s  .  co  m*/

    Element widgetEle = panel.getWidget().getElement();
    int scrollPannelHeight = widgetEle.getOffsetHeight();
    int scrollHeight = Utils.Html.getHeight(panel.scrollbar);

    double scrollbarHeight = (scrollHeight * scrollHeight) / scrollPannelHeight;
    if (scrollbarHeight >= scrollHeight) {
        panel.hideScrollBar();
        return;
    } else {
        panel.showScrollBar();
    }

    double scrollbarPos = -scrollHeight * scrollPannerPos / scrollPannelHeight;

    if (scrollPannerPos > 0) {
        scrollbarHeight = (scrollbarHeight - scrollPannerPos);
        scrollbarPos = 0;
        if (scrollbarHeight < 8)
            scrollbarHeight = 8;
    } else if ((-scrollPannerPos + scrollHeight) > (scrollPannelHeight)) {
        double outScroll = (-scrollPannerPos + scrollHeight) - scrollPannelHeight;
        scrollbarHeight = scrollbarHeight - outScroll;
        if (scrollbarHeight < 8) {
            scrollbarHeight = 8;
        } else {
            scrollbarPos = scrollbarPos + outScroll;
        }
        scrollbarPos = (scrollbarPos + scrollHeight) > scrollHeight ? scrollHeight - scrollbarHeight
                : scrollbarPos;

    }

    Utils.Html.setHeight(panel.scrollbar.getFirstChildElement(), scrollbarHeight);
    Utils.Fx.setTranslateY(panel.scrollbar.getFirstChildElement(), scrollbarPos);
}

From source file:com.gwtmobile.ui.client.widgets.ScrollPanel.java

License:Apache License

private void adjustScrollbar(double scrollPannerPos) {
    Element widgetEle = getWidget().getElement();
    int scrollPannelHeight = widgetEle.getOffsetHeight();
    double scrollHeight = Utils.getHeight(this._scrollbar);

    double scrollbarHeight = (scrollHeight * scrollHeight) / scrollPannelHeight;
    if (scrollbarHeight >= scrollHeight) {
        this.hideScrollBar();
        return;/*ww w.  jav  a  2s.  c  o  m*/
    } else {
        this.showScrollBar();
    }

    double scrollbarPos = -scrollHeight * scrollPannerPos / scrollPannelHeight;

    if (scrollPannerPos > 0) {
        scrollbarHeight = (scrollbarHeight - scrollPannerPos);
        scrollbarPos = 0;
        if (scrollbarHeight < 8)
            scrollbarHeight = 8;
    } else if ((-scrollPannerPos + scrollHeight) > (scrollPannelHeight)) {
        double outScroll = (-scrollPannerPos + scrollHeight) - scrollPannelHeight;
        scrollbarHeight = scrollbarHeight - outScroll;
        if (scrollbarHeight < 8) {
            scrollbarHeight = 8;
        } else {
            scrollbarPos = scrollbarPos + outScroll;
        }
        scrollbarPos = (scrollbarPos + scrollHeight) > scrollHeight ? scrollHeight - scrollbarHeight
                : scrollbarPos;

    }

    Utils.setHeight(this._scrollbar.getFirstChildElement(), scrollbarHeight);
    Utils.setTranslateY(this._scrollbar.getFirstChildElement(), scrollbarPos);
}

From source file:com.gwtmobile.ui.client.widgets.ScrollPanel.java

License:Apache License

@Override
public void onDragMove(DragEvent e) {
    Element widgetEle = getWidget().getElement();
    int panelHeight = Utils.getHeight(this.getElement());
    int widgetHeight = widgetEle.getOffsetHeight();
    int current = getScrollPosition();
    if (current > 0) {//exceed top boundary
        if (e.OffsetY > 0) { //resist scroll down.
            current += (int) (e.OffsetY / 2); // need the cast for production mode.
        } else {/* w w w  .  j a v  a 2 s. com*/
            current += e.OffsetY * 2;
        }
    } else if (-current + panelHeight > widgetHeight) { //exceed bottom boundary
        if (e.OffsetY < 0) { //resist scroll up.
            current += (int) (e.OffsetY / 2);
        } else {
            current += e.OffsetY * 2;
        }
    } else {
        current += e.OffsetY;
    }

    setScrollPosition(current);
}