List of usage examples for com.google.gwt.user.client Window getScrollTop
public static int getScrollTop()
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; } } }