List of usage examples for com.google.gwt.user.client.ui HasScrolling getHorizontalScrollPosition
int getHorizontalScrollPosition();
From source file:com.google.gwt.sample.showcase.client.content.cell.Cells.java
/** * Wrap the given cell so that if//from ww w . j ava2 s . c om * {@link Cell#resetFocus(com.google.gwt.cell.client.Cell.Context, Element, Object)} is * called on it, the wrapped cell will focus itself, but will also make sure that the * browser window doesn't automatically scroll the cell into view. This is handy for * cells that should respond to keyboard commands even when out of view. * * <p>Note that refocusing on top-level cells will happen automatically when a cell widget * is redrawn. One surprising cause of a redraws is that HasDataPresenter optimizes extensions * to a short list by just redoing the whole list. See * {@link com.google.gwt.user.cellview.client.HasDataPresenter#REDRAW_THRESHOLD} for what * can trigger redraws. */ public static <T> Cell<T> makeFocusableWithoutScrolling(Cell<T> cellToWrap, final HasScrolling scrollable) { return new CellAdapter<T, T>(cellToWrap, null, null) { @Override public boolean resetFocus(Context context, Element parent, T value) { int x = scrollable.getHorizontalScrollPosition(); int y = scrollable.getVerticalScrollPosition(); parent.focus(); scrollable.setHorizontalScrollPosition(x); scrollable.setVerticalScrollPosition(y); return true; } }; }