Example usage for com.google.gwt.user.client Window getScrollTop

List of usage examples for com.google.gwt.user.client Window getScrollTop

Introduction

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

Prototype

public static int getScrollTop() 

Source Link

Usage

From source file:org.unitime.timetable.gwt.client.solver.SolutionReportsPage.java

License:Apache License

public static void __search() {
    final int left = Window.getScrollLeft();
    final int top = Window.getScrollTop();
    SolutionReportsPage page = (SolutionReportsPage) RootPanel.get("UniTimeGWT:Body").getWidget(0);
    page.init(new AsyncCallback<Boolean>() {
        @Override// w  w  w .j  av a  2 s.  c  om
        public void onFailure(Throwable caught) {
        }

        @Override
        public void onSuccess(Boolean result) {
            if (result)
                Window.scrollTo(left, top);
        }
    });
}

From source file:org.unitime.timetable.gwt.client.solver.TimetablePage.java

License:Apache License

public static void __search() {
    final int left = Window.getScrollLeft();
    final int top = Window.getScrollTop();
    TimetablePage page = (TimetablePage) RootPanel.get("UniTimeGWT:Body").getWidget(0);
    page.search(new AsyncCallback<Boolean>() {
        @Override//from www  .j a  v  a  2  s  .  c o m
        public void onFailure(Throwable caught) {
        }

        @Override
        public void onSuccess(Boolean result) {
            if (result)
                Window.scrollTo(left, top);
        }
    });
}

From source file:org.unitime.timetable.gwt.client.widgets.LoadingWidget.java

License:Apache License

public LoadingWidget() {
    iPanel = new AbsolutePanel();
    iPanel.setStyleName("unitime-LoadingPanel");
    iImage = new Image(RESOURCES.loading());
    iImage.setStyleName("unitime-LoadingIcon");
    initWidget(iPanel);/*www . j  av a 2 s .c om*/
    Window.addWindowScrollHandler(new Window.ScrollHandler() {
        @Override
        public void onWindowScroll(Window.ScrollEvent event) {
            if (iCount > 0) {
                iPanel.getElement().getStyle().setProperty("left", String.valueOf(event.getScrollLeft()));
                iPanel.getElement().getStyle().setProperty("top", String.valueOf(event.getScrollTop()));
                iImage.getElement().getStyle().setProperty("left",
                        String.valueOf(event.getScrollLeft() + Window.getClientWidth() / 2));
                iImage.getElement().getStyle().setProperty("top",
                        String.valueOf(event.getScrollTop() + Window.getClientHeight() / 2));
                iWarning.getElement().getStyle().setProperty("left",
                        String.valueOf(event.getScrollLeft() + Window.getClientWidth() / 2 - 225));
                iWarning.getElement().getStyle().setProperty("top",
                        String.valueOf(event.getScrollTop() + 5 * Window.getClientHeight() / 12));
                iMessage.getElement().getStyle().setProperty("left",
                        String.valueOf(event.getScrollLeft() + Window.getClientWidth() / 2 - 225));
                iMessage.getElement().getStyle().setProperty("top",
                        String.valueOf(event.getScrollTop() + Window.getClientHeight() / 3));
                iCancel.getElement().getStyle().setProperty("left",
                        String.valueOf(event.getScrollLeft() + Window.getClientWidth() / 2 - 225));
                iCancel.getElement().getStyle().setProperty("top",
                        String.valueOf(event.getScrollTop() + 5 * Window.getClientHeight() / 12));
            }
        }
    });
    iWarning = new HTML(MESSAGES.warnLoadingTooLong(), true);
    iWarning.setStyleName("unitime-Notification");
    iWarning.addStyleName("unitime-NotificationError");
    iCancel = new HTML(MESSAGES.warnLoadingTooLongCanCancel());
    iCancel.setStyleName("unitime-Notification");
    iCancel.addStyleName("unitime-NotificationWarning");
    iCancel.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            if (iExecutionId != null)
                GwtRpc.cancel(iExecutionId);
        }
    });
    iMessage = new HTML("", true);
    iMessage.setStyleName("unitime-Notification");
    iMessage.addStyleName("unitime-NotificationInfo");
    iWarningTimer = new Timer() {
        @Override
        public void run() {
            RootPanel.get().add(iWarning, Window.getScrollLeft() + Window.getClientWidth() / 2 - 225,
                    Window.getScrollTop() + 5 * Window.getClientHeight() / 12);
        }
    };
    iCancelTimer = new Timer() {
        @Override
        public void run() {
            RootPanel.get().add(iCancel, Window.getScrollLeft() + Window.getClientWidth() / 2 - 225,
                    Window.getScrollTop() + 5 * Window.getClientHeight() / 12);
        }
    };
}

From source file:org.unitime.timetable.gwt.client.widgets.LoadingWidget.java

License:Apache License

public void show(String message, int warningDelayInMillis) {
    if (iCount == 0) {
        RootPanel.get().add(this, Window.getScrollLeft(), Window.getScrollTop());
        RootPanel.get().add(iImage, Window.getScrollLeft() + Window.getClientWidth() / 2,
                Window.getScrollTop() + Window.getClientHeight() / 2);
        iWarningTimer.schedule(warningDelayInMillis);
    }/*from   ww  w  .j a  v a2s.co m*/
    if (message != null) {
        boolean showing = (iCount > 0 && !iMessage.getText().isEmpty());
        iMessage.setHTML(message);
        if (!showing && !iMessage.getText().isEmpty()) {
            RootPanel.get().add(iMessage, Window.getScrollLeft() + Window.getClientWidth() / 2 - 225,
                    Window.getScrollTop() + Window.getClientHeight() / 3);
        } else if (showing && iMessage.getText().isEmpty()) {
            RootPanel.get().remove(iMessage);
        }
        AriaStatus.getInstance().setText(message.replace("...", "."));
    }
    iCount++;
}

From source file:org.unitime.timetable.gwt.client.widgets.mobile.MobileUniTimeFrameDialogImpl.java

License:Apache License

@Override
public void openDialog(String title, String source, String width, String height, boolean noCacheTS) {
    if (isShowing())
        hideDialog();/*from   ww  w  . j a  v  a2  s  .  c om*/
    GwtHint.hideHint();

    iScrollLeft = Window.getScrollLeft();
    iScrollTop = Window.getScrollTop();
    Window.scrollTo(0, 0);

    LoadingWidget.getInstance().show("Loading " + title + " ...");
    setText(title);
    if (noCacheTS) {
        String hash = null;
        int hashIdx = source.lastIndexOf('#');
        if (hashIdx >= 0) {
            hash = source.substring(hashIdx);
            source = source.substring(0, hashIdx);
        }
        iFrame.setUrl(source + (source.indexOf('?') >= 0 ? "&" : "?") + "noCacheTS=" + new Date().getTime()
                + (hash == null ? "" : hash));
    } else {
        iFrame.setUrl(source);
    }
    iCheckLoadingWidgetIsShowing.schedule(30000);

    History.newItem(title, false);
    iPopup.setPopupPosition(0, 0);
    iPopup.show();
    RootPanel.getBodyElement().getStyle().setOverflow(Overflow.HIDDEN);
}

From source file:org.unitime.timetable.gwt.client.widgets.UniTimeFrameDialogImpl.java

License:Apache License

public UniTimeFrameDialogImpl() {
    super(true, true);

    setEscapeToHide(true);//from  w w w.j a  v  a2 s  .c o  m
    iFrame = new Frame();
    iFrame.getElement().getStyle().setBorderWidth(0, Unit.PX);
    hookFrameLoaded((FrameElement) iFrame.getElement().cast());
    setWidget(iFrame);

    iCheckLoadingWidgetIsShowing = new Timer() {
        @Override
        public void run() {
            if (LoadingWidget.getInstance().isShowing()) {
                LoadingWidget.getInstance().hide();
                UniTimeNotifications.error(
                        getText() + " does not seem to load, " + "please check <a href='" + iFrame.getUrl()
                                + "' style='white-space: nowrap;'>" + iFrame.getUrl() + "</a> for yourself.");
            }
        }
    };

    addCloseHandler(new CloseHandler<PopupPanel>() {
        @Override
        public void onClose(CloseEvent<PopupPanel> event) {
            if (LoadingWidget.getInstance().isShowing())
                LoadingWidget.getInstance().hide();
            RootPanel.getBodyElement().getStyle().setOverflow(Overflow.AUTO);
        }
    });

    iFrame.addLoadHandler(new LoadHandler() {
        @Override
        public void onLoad(LoadEvent event) {
            LoadingWidget.getInstance().hide();
            try {
                FrameElement frame = (FrameElement) iFrame.getElement().cast();
                BodyElement body = frame.getContentDocument().getBody();
                if (body.getScrollWidth() > body.getClientWidth()) {
                    iFrame.setWidth(
                            Math.min(frame.getClientWidth() + body.getScrollWidth() - body.getClientWidth(),
                                    Window.getClientWidth() * 95 / 100) + "px");
                    setPopupPosition(
                            Math.max(Window.getScrollLeft() + (Window.getClientWidth() - getOffsetWidth()) / 2,
                                    0),
                            Math.max(Window.getScrollTop() + (Window.getClientHeight() - getOffsetHeight()) / 2,
                                    0));
                }
            } catch (Exception e) {
            }
        }
    });
}

From source file:org.unitime.timetable.gwt.client.widgets.UniTimeTable.java

License:Apache License

public void onBrowserEvent(final Event event) {
    Element td = getEventTargetCell(event);
    if (td == null)
        return;//from w  w w  . j a  v a2  s  .  c o  m
    final Element tr = DOM.getParent(td);
    int col = DOM.getChildIndex(tr, td);
    Element body = DOM.getParent(tr);
    int row = DOM.getChildIndex(body, tr);

    Widget widget = getWidget(row, col);
    SmartTableRow<T> r = getSmartRow(row);
    boolean hasData = (r != null && r.getData() != null);

    TableEvent<T> tableEvent = new TableEvent<T>(event, row, col, tr, td, hasData ? r.getData() : null);

    Widget hint = null;
    if (widget instanceof HasHint) {
        String html = ((HasHint) widget).getHint();
        if (html != null && !html.isEmpty())
            hint = new HTML(html, false);
    }
    if (hint == null && iHintProvider != null)
        hint = iHintProvider.getHint(tableEvent);

    String style = getRowFormatter().getStyleName(row);

    switch (DOM.eventGetType(event)) {
    case Event.ONMOUSEOVER:
        if (hasData) {
            if (!iMouseClickListeners.isEmpty())
                getRowFormatter().getElement(row).getStyle().setCursor(Cursor.POINTER);
            boolean selected = false;
            if (isAllowSelection()) {
                if ("unitime-TableRowSelected".equals(style)) {
                    getRowFormatter().setStyleName(row, "unitime-TableRowSelectedHover");
                    selected = true;
                } else {
                    getRowFormatter().setStyleName(row, "unitime-TableRowHover");
                }
            } else {
                getRowFormatter().addStyleName(row, "unitime-TableRowHover");
            }
            iLastHoverRow = row;
            if (!selected) {
                String color = getRowFormatter().getElement(row).getStyle().getBackgroundColor();
                if (color != null && !color.isEmpty()) {
                    getRowFormatter().getElement(row).getStyle().clearBackgroundColor();
                    iLastHoverBackgroundColor.put(row, color);
                } else {
                    iLastHoverBackgroundColor.remove(row);
                }
            }
        }
        if (!iHintPanel.isShowing() && hint != null) {
            iHintPanel.setWidget(hint);
            iHintPanel.setPopupPositionAndShow(new PopupPanel.PositionCallback() {
                @Override
                public void setPosition(int offsetWidth, int offsetHeight) {
                    boolean top = (tr.getAbsoluteBottom() - Window.getScrollTop() + 15 + offsetHeight > Window
                            .getClientHeight());
                    iHintPanel.setPopupPosition(
                            Math.max(Math.min(event.getClientX(), tr.getAbsoluteRight() - offsetWidth - 15),
                                    tr.getAbsoluteLeft() + 15),
                            top ? tr.getAbsoluteTop() - offsetHeight - 15 : tr.getAbsoluteBottom() + 15);
                }
            });
        }
        for (MouseOverListener<T> listener : iMouseOverListeners)
            listener.onMouseOver(tableEvent);
        break;
    case Event.ONMOUSEOUT:
        if (hasData) {
            if (!iMouseClickListeners.isEmpty())
                getRowFormatter().getElement(row).getStyle().clearCursor();
            boolean selected = false;
            if (isAllowSelection()) {
                if ("unitime-TableRowHover".equals(style)) {
                    getRowFormatter().setStyleName(row, null);
                } else if ("unitime-TableRowSelectedHover".equals(style)) {
                    getRowFormatter().setStyleName(row, "unitime-TableRowSelected");
                    selected = true;
                }
            } else {
                getRowFormatter().removeStyleName(row, "unitime-TableRowHover");
            }
            if (!selected) {
                String color = iLastHoverBackgroundColor.remove(row);
                if (color != null && !color.isEmpty()) {
                    getRowFormatter().getElement(row).getStyle().setBackgroundColor(color);
                }
            }
            iLastHoverRow = -1;
        }
        if (iHintPanel.isShowing())
            iHintPanel.hide();
        for (MouseOutListener<T> listener : iMouseOutListeners)
            listener.onMouseOut(tableEvent);
        break;
    case Event.ONMOUSEMOVE:
        if (iHintPanel.isShowing()) {
            boolean top = (tr.getAbsoluteBottom() - Window.getScrollTop() + 15
                    + iHintPanel.getOffsetHeight() > Window.getClientHeight());
            iHintPanel.setPopupPosition(
                    Math.max(
                            Math.min(event.getClientX(),
                                    tr.getAbsoluteRight() - iHintPanel.getOffsetWidth() - 15),
                            tr.getAbsoluteLeft() + 15),
                    top ? tr.getAbsoluteTop() - iHintPanel.getOffsetHeight() - 15
                            : tr.getAbsoluteBottom() + 15);
        }
        break;
    case Event.ONCLICK:
        if (isAllowSelection() && hasData) {
            Element element = DOM.eventGetTarget(event);
            while (element.getPropertyString("tagName").equalsIgnoreCase("div"))
                element = DOM.getParent(element);
            if (isAllowMultiSelect()) {
                if (element.getPropertyString("tagName").equalsIgnoreCase("td")) {
                    boolean hover = ("unitime-TableRowHover".equals(style)
                            || "unitime-TableRowSelectedHover".equals(style));
                    boolean selected = !("unitime-TableRowSelected".equals(style)
                            || "unitime-TableRowSelectedHover".equals(style));
                    getRowFormatter().setStyleName(row,
                            "unitime-TableRow" + (selected ? "Selected" : "") + (hover ? "Hover" : ""));
                }
            } else {
                int old = getSelectedRow();
                if (old != row && old >= 0)
                    setSelected(old, false);
                boolean hover = ("unitime-TableRowHover".equals(style)
                        || "unitime-TableRowSelectedHover".equals(style));
                getRowFormatter().setStyleName(row, "unitime-TableRowSelected" + (hover ? "Hover" : ""));
            }
        }
        if (iHintPanel != null && iHintPanel.isShowing())
            iHintPanel.hide();
        for (MouseClickListener<T> listener : iMouseClickListeners)
            listener.onMouseClick(tableEvent);
        break;
    case Event.ONKEYDOWN:
        if (event.getKeyCode() == KeyCodes.KEY_RIGHT && (event.getAltKey() || event.getMetaKey())) {
            do {
                col++;
                if (col >= getCellCount(row))
                    break;
            } while (!focus(row, col));
            event.stopPropagation();
            event.preventDefault();
        }
        if (event.getKeyCode() == KeyCodes.KEY_LEFT && (event.getAltKey() || event.getMetaKey())) {
            do {
                col--;
                if (col < 0)
                    break;
            } while (!focus(row, col));
            event.stopPropagation();
            event.preventDefault();
        }
        if (event.getKeyCode() == KeyCodes.KEY_UP && (event.getAltKey() || event.getMetaKey())) {
            do {
                row--;
                if (row < 0)
                    break;
            } while (!focus(row, col));
            event.stopPropagation();
            event.preventDefault();
        } else if (hasData && event.getKeyCode() == KeyCodes.KEY_UP && event.getCtrlKey()) {
            SmartTableRow<T> up = getSmartRow(row - 1);
            if (up != null && up.getData() != null && canSwapRows(r.getData(), up.getData())) {
                getRowFormatter().removeStyleName(row, "unitime-TableRowHover");
                getRowFormatter().removeStyleName(row - 1, "unitime-TableRowHover");
                swapRows(row - 1, row);
                focus(row - 1, col);
                if (!iDataChangedListeners.isEmpty()) {
                    List<DataChangedEvent<T>> e = new ArrayList<DataChangedEvent<T>>();
                    e.add(new DataChangedEvent<T>(up.getData(), row));
                    e.add(new DataChangedEvent<T>(r.getData(), row - 1));
                    for (DataChangedListener<T> listener : iDataChangedListeners) {
                        listener.onDataMoved(e);
                    }
                }
            }
            event.stopPropagation();
            event.preventDefault();
        }
        if (event.getKeyCode() == KeyCodes.KEY_DOWN && (event.getAltKey() || event.getMetaKey())) {
            do {
                row++;
                if (row >= getRowCount())
                    break;
            } while (!focus(row, col));
            event.stopPropagation();
            event.preventDefault();
        } else if (hasData && event.getKeyCode() == KeyCodes.KEY_DOWN && event.getCtrlKey()) {
            SmartTableRow<T> dn = getSmartRow(row + 1);
            if (dn != null && dn.getData() != null && canSwapRows(r.getData(), dn.getData())) {
                getRowFormatter().removeStyleName(row, "unitime-TableRowHover");
                getRowFormatter().removeStyleName(row + 1, "unitime-TableRowHover");
                swapRows(row + 1, row);
                focus(row + 1, col);
                if (!iDataChangedListeners.isEmpty()) {
                    List<DataChangedEvent<T>> e = new ArrayList<DataChangedEvent<T>>();
                    e.add(new DataChangedEvent<T>(dn.getData(), row));
                    e.add(new DataChangedEvent<T>(r.getData(), row + 1));
                    for (DataChangedListener<T> listener : iDataChangedListeners) {
                        listener.onDataMoved(e);
                    }
                }
            }
            event.stopPropagation();
            event.preventDefault();
        }
        break;
    }
}

From source file:org.unitime.timetable.gwt.mobile.client.widgets.MobileUniTimeFrameDialogImpl.java

License:Apache License

@Override
public void openDialog(String title, String source, String width, String height) {
    if (isShowing())
        hideDialog();/*from   w w w. j ava 2  s .  c om*/
    GwtHint.hideHint();

    iScrollLeft = Window.getScrollLeft();
    iScrollTop = Window.getScrollTop();
    Window.scrollTo(0, 0);

    LoadingWidget.getInstance().show("Loading " + title + " ...");
    setText(title);
    String hash = null;
    int hashIdx = source.lastIndexOf('#');
    if (hashIdx >= 0) {
        hash = source.substring(hashIdx);
        source = source.substring(0, hashIdx);
    }
    iFrame.setUrl(source + (source.indexOf('?') >= 0 ? "&" : "?") + "noCacheTS=" + new Date().getTime()
            + (hash == null ? "" : hash));
    iCheckLoadingWidgetIsShowing.schedule(30000);

    History.newItem(title, false);
    iPopup.setPopupPosition(0, 0);
    iPopup.show();
    RootPanel.getBodyElement().getStyle().setOverflow(Overflow.HIDDEN);
}

From source file:org.utgenome.gwt.utgb.client.canvas.GWTGenomeCanvas.java

License:Apache License

public int getYOnCanvas(int clientY) {
    return clientY + Window.getScrollTop() - basePanel.getAbsoluteTop();
}

From source file:org.utgenome.gwt.utgb.client.canvas.GWTGraphCanvas.java

License:Apache License

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

    int type = DOM.eventGetType(event);
    switch (type) {
    case Event.ONMOUSEOVER:

        break;//from w  ww . j av a2  s.c o  m
    case Event.ONMOUSEMOVE: {
        // show readLabels 

        if (dragStartPoint.isDefined()) {
            // scroll the canvas
            int clientX = DOM.eventGetClientX(event) + Window.getScrollLeft();
            //int clientY = DOM.eventGetClientY(event) + Window.getScrollTop();

            DragPoint p = dragStartPoint.get();
            int xDiff = clientX - p.x;
            //int yDiff = clientY - p.y;
            //panel.setWidgetPosition(canvas, xDiff, 0);
        } else {
            //Style.cursor(canvas, Style.CURSOR_AUTO);
        }

        break;
    }
    case Event.ONMOUSEOUT: {
        resetDrag(event);
        break;
    }
    case Event.ONMOUSEDOWN: {
        // invoke a click event 
        int clientX = DOM.eventGetClientX(event) + Window.getScrollLeft();
        int clientY = DOM.eventGetClientY(event) + Window.getScrollTop();

        if (dragStartPoint.isUndefined()) {
            dragStartPoint.set(new DragPoint(clientX, clientY));
            //Style.cursor(canvas, Style.CURSOR_RESIZE_E);
            event.preventDefault();
        }

        break;
    }
    case Event.ONMOUSEUP: {

        resetDrag(event);
        break;
    }
    }
}