Example usage for com.google.gwt.view.client Range getStart

List of usage examples for com.google.gwt.view.client Range getStart

Introduction

In this page you can find the example usage for com.google.gwt.view.client Range getStart.

Prototype

public int getStart() 

Source Link

Document

Get the start index of the range.

Usage

From source file:TaskListPresenter.java

License:Open Source License

protected void fetchRange(final Range range) {
    QueryRequest request = new QueryRequest();
    request.setPageInfo(new Region(range.getStart(), range.getLength()));
    SortInfo sortInfo = getSortInfoFromTable();
    if (sortInfo != null && sortInfo.getSortField() != null && sortInfo.getSortOrder() != null) {
        request.setSortInfo(sortInfo);/*from   w ww  .jav  a2 s  .com*/
    }

    queryState.setQueryRequest(request);
    // Update the current URL to represent the new page and sort parameters
    updateCurrentUrlForQuery(request);

    final AsyncCallbackSupport<TaskQueryResult> callback = new AsyncCallbackSupport<TaskQueryResult>() {

        @Override
        protected void success(TaskQueryResult actionResult) {
            QueryResult<Task> result = actionResult.get();
            // TODO: when range starts at 0 and no results found, hide
            // results table and show 'no results found' message
            dataProvider.updateRowCount(result.getTotalResultSize(), true);
            // set the length to less than one page when necessary
            dataProvider.updateRowData(range.getStart(), result.getResultPage());
        }

        @Override
        public void onFailure(Throwable exception) {
            super.onFailure(exception);
            dataProvider.updateRowCount(0, false);
        }
    };

    TaskQueryAction action = new TaskQueryAction(getProjectIdentifier(), queryState);
    getDispatchService().execute(action, callback);
}

From source file:br.org.olimpiabarbacena.client.Pesquisar.java

License:Apache License

public void listarAcervo() {
    // remove todas as colunas
    for (int i = cellTable.getColumnCount() - 1; i >= 0; i--) {
        cellTable.removeColumn(i);//from w  ww . j  a va  2  s.c  o  m
    }

    // Adiciona coluna imagem para exibir o tipo.
    Column<Object, ImageResource> colunaTipo = new Column<Object, ImageResource>(new ImageResourceCell()) {

        @Override
        public ImageResource getValue(Object object) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Midia")) {
                if (((Midia) object).getTipo() == Tipo.LIVRO) {
                    return Icons.INSTANCE.livro();
                } else if (((Midia) object).getTipo() == Tipo.CD) {
                    return Icons.INSTANCE.cd();
                } else if (((Midia) object).getTipo() == Tipo.DVD) {
                    return Icons.INSTANCE.dvd();
                } else if (((Midia) object).getTipo() == Tipo.REVISTA) {
                    return Icons.INSTANCE.revista();
                } else if (((Midia) object).getTipo() == Tipo.JORNAL) {
                    return Icons.INSTANCE.jornal();
                } else {
                    return Icons.INSTANCE.desconhecido();
                }
            }

            return Icons.INSTANCE.desconhecido();
        }
    };
    cellTable.addColumn(colunaTipo, "Tipo");
    cellTable.setColumnWidth(colunaTipo, "16px");

    // Adiciona coluna texto para exibir o ttulo.
    TextColumn<Object> colunaNome = new TextColumn<Object>() {

        @Override
        public String getValue(Object object) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Midia")) {
                return ((Midia) object).getTitulo();
            }

            return new String();
        }
    };
    colunaNome.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT);
    cellTable.addColumn(colunaNome, "Ttulo");

    // Adiciona coluna com o boto editar.
    ButtonCell buttonCellEditar = new ButtonCell() {

        @Override
        public void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
            if (data != null) {
                ImageResource icon = Icons.INSTANCE.editar();
                String iconDisplay = AbstractImagePrototype.create(icon).getHTML();
                iconDisplay = iconDisplay.replaceFirst(">", " title=\"Editar\">");
                SafeHtml html = SafeHtmlUtils.fromTrustedString(iconDisplay);
                sb.append(html);
            }
        }
    };
    Column<Object, String> colunaEditar = new Column<Object, String>(buttonCellEditar) {

        @Override
        public String getValue(Object object) {
            return "Editar";
        }
    };
    colunaEditar.setFieldUpdater(new FieldUpdater<Object, String>() {
        @Override
        public void update(int index, Object object, String value) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Midia")) {
                if (((Midia) object).getTipo() == Tipo.LIVRO) {
                    principal.getControle().setDialogo(new DialogBox(false));

                    principal.getControle().getDialogo().setWidth("464px");
                    principal.getControle().getDialogo().setHeight("417px");

                    principal.getControle().setLivro(new br.org.olimpiabarbacena.client.formulario.midia.Livro(
                            principal, principal.getControle().getDialogo()));

                    principal.getControle().getLivro().get(((Midia) object).getId());

                    principal.getControle().getDialogo().setWidget(principal.getControle().getLivro());
                    principal.getControle().getDialogo().center();
                } else if (((Midia) object).getTipo() == Tipo.CD) {
                    principal.getControle().setDialogo(new DialogBox(false));

                    principal.getControle().getDialogo().setWidth("462px");
                    principal.getControle().getDialogo().setHeight("261px");

                    principal.getControle().setCD(new br.org.olimpiabarbacena.client.formulario.midia.CD(
                            principal, principal.getControle().getDialogo(), Tipo.CD));

                    principal.getControle().getCD().get(((Midia) object).getId());

                    principal.getControle().getDialogo().setWidget(principal.getControle().getCD());
                    principal.getControle().getDialogo().center();
                } else if (((Midia) object).getTipo() == Tipo.DVD) {
                    principal.getControle().setDialogo(new DialogBox(false));

                    principal.getControle().getDialogo().setWidth("462px");
                    principal.getControle().getDialogo().setHeight("261px");

                    principal.getControle().setCD(new br.org.olimpiabarbacena.client.formulario.midia.CD(
                            principal, principal.getControle().getDialogo(), Tipo.DVD));

                    principal.getControle().getCD().get(((Midia) object).getId());

                    principal.getControle().getDialogo().setWidget(principal.getControle().getCD());
                    principal.getControle().getDialogo().center();
                } else if (((Midia) object).getTipo() == Tipo.JORNAL) {
                    principal.getControle().setDialogo(new DialogBox(false));

                    principal.getControle().getDialogo().setWidth("460px");
                    principal.getControle().getDialogo().setHeight("359px");

                    principal.getControle()
                            .setJornal(new br.org.olimpiabarbacena.client.formulario.midia.Jornal(principal,
                                    principal.getControle().getDialogo(), Tipo.JORNAL));

                    principal.getControle().getJornal().get(((Midia) object).getId());

                    principal.getControle().getDialogo().setWidget(principal.getControle().getJornal());
                    principal.getControle().getDialogo().center();
                } else if (((Midia) object).getTipo() == Tipo.REVISTA) {
                    principal.getControle().setDialogo(new DialogBox(false));

                    principal.getControle().getDialogo().setWidth("460px");
                    principal.getControle().getDialogo().setHeight("359px");

                    principal.getControle()
                            .setJornal(new br.org.olimpiabarbacena.client.formulario.midia.Jornal(principal,
                                    principal.getControle().getDialogo(), Tipo.REVISTA));

                    principal.getControle().getJornal().get(((Midia) object).getId());

                    principal.getControle().getDialogo().setWidget(principal.getControle().getJornal());
                    principal.getControle().getDialogo().center();
                }
            }
        }
    });
    colunaEditar.setCellStyleNames("gwt-cell-pointer");
    cellTable.addColumn(colunaEditar, new String());
    cellTable.setColumnWidth(colunaEditar, "16px");

    // Adiciona coluna com o boto remover.
    ButtonCell buttonCellRemover = new ButtonCell() {

        @Override
        public void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
            if (data != null) {
                ImageResource icon = Icons.INSTANCE.remover();
                String iconDisplay = AbstractImagePrototype.create(icon).getHTML();
                iconDisplay = iconDisplay.replaceFirst(">", " title=\"Remover\">");
                SafeHtml html = SafeHtmlUtils.fromTrustedString(iconDisplay);
                sb.append(html);
            }
        }
    };
    Column<Object, String> colunaRemover = new Column<Object, String>(buttonCellRemover) {
        @Override
        public String getValue(Object object) {
            return "Remover";
        }
    };
    colunaRemover.setFieldUpdater(new FieldUpdater<Object, String>() {
        @Override
        public void update(int index, Object object, String value) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Midia")) {
                if (Window.confirm(
                        "Deseja remover \"" + ((Midia) object).getTitulo() + "\" e suas dependncias?")) {
                    midiaService.remover(((Midia) object).getId(), new AsyncCallback<Void>() {

                        @Override
                        public void onFailure(Throwable caught) {
                        };

                        @Override
                        public void onSuccess(Void result) {
                            limpar();
                            listarAcervo();
                        };
                    });
                }
            }
        }
    });
    colunaRemover.setCellStyleNames("gwt-cell-pointer");
    cellTable.addColumn(colunaRemover, new String());
    cellTable.setColumnWidth(colunaRemover, "16px");

    dataProvider = new AsyncDataProvider<Object>() {

        @Override
        protected void onRangeChanged(HasData<Object> display) {
            final Range range = display.getVisibleRange();
            final int start = range.getStart();
            final int end = start + range.getLength();

            midiaService.listar(textboxPesquisar.getText(), new AsyncCallback<List<Midia>>() {
                @Override
                public void onFailure(Throwable caught) {
                    Window.alert(caught.getMessage());
                }

                @Override
                public void onSuccess(List<Midia> result) {
                    // convert old list type to new list type
                    List<Object> list = new ArrayList<Object>(result.size());
                    for (Midia midia : result) {
                        list.add(midia);
                    }
                    updateRowData(start, list.subList(start, (result.size() < end) ? result.size() : end));
                    updateRowCount(result.size(), true);
                }
            });
        }
    };
    dataProvider.addDataDisplay(cellTable);
}

From source file:br.org.olimpiabarbacena.client.Pesquisar.java

License:Apache License

public void listarMembro() {
    // remove todas as colunas
    for (int i = cellTable.getColumnCount() - 1; i >= 0; i--) {
        cellTable.removeColumn(i);/*from w  w  w. j  a  v a2 s .co m*/
    }

    // Adiciona coluna texto para exibir o nome.
    TextColumn<Object> colunaNome = new TextColumn<Object>() {

        @Override
        public String getValue(Object object) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Membro")) {
                return ((Membro) object).getNome();
            }

            return new String();
        }
    };
    colunaNome.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT);
    cellTable.addColumn(colunaNome, "Nome");

    // Adiciona coluna com o boto editar.
    ButtonCell buttonCellEditar = new ButtonCell() {

        @Override
        public void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
            if (data != null) {
                ImageResource icon = Icons.INSTANCE.editar();
                String iconDisplay = AbstractImagePrototype.create(icon).getHTML();
                iconDisplay = iconDisplay.replaceFirst(">", " title=\"Editar\">");
                SafeHtml html = SafeHtmlUtils.fromTrustedString(iconDisplay);
                sb.append(html);
            }
        }
    };
    Column<Object, String> colunaEditar = new Column<Object, String>(buttonCellEditar) {

        @Override
        public String getValue(Object object) {
            return "Editar";
        }
    };
    colunaEditar.setFieldUpdater(new FieldUpdater<Object, String>() {
        @Override
        public void update(int index, Object object, String value) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Membro")) {
                principal.getControle().setDialogo(new DialogBox(false));

                principal.getControle().getDialogo().setWidth("466px");
                principal.getControle().getDialogo().setHeight("319px");

                br.org.olimpiabarbacena.client.formulario.Membro membro = new br.org.olimpiabarbacena.client.formulario.Membro(
                        principal, principal.getControle().getDialogo());
                membro.buttonHistorico.setVisible(false);
                membro.buttonFechar.setText("Cancelar");

                membro.get(((Membro) object).getId());

                principal.getControle().getDialogo().setWidget(membro);
                principal.getControle().getDialogo().center();
            }
        }
    });
    colunaEditar.setCellStyleNames("gwt-cell-pointer");
    cellTable.addColumn(colunaEditar, new String());
    cellTable.setColumnWidth(colunaEditar, "16px");

    // Adiciona coluna com o boto remover.
    ButtonCell buttonCellRemover = new ButtonCell() {

        @Override
        public void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
            if (data != null) {
                ImageResource icon = Icons.INSTANCE.remover();
                String iconDisplay = AbstractImagePrototype.create(icon).getHTML();
                iconDisplay = iconDisplay.replaceFirst(">", " title=\"Remover\">");
                SafeHtml html = SafeHtmlUtils.fromTrustedString(iconDisplay);
                sb.append(html);
            }
        }
    };
    Column<Object, String> colunaRemover = new Column<Object, String>(buttonCellRemover) {
        @Override
        public String getValue(Object object) {
            return "Remover";
        }
    };
    colunaRemover.setFieldUpdater(new FieldUpdater<Object, String>() {
        @Override
        public void update(int index, Object object, String value) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Membro")) {
                if (Window.confirm(
                        "Deseja remover \"" + ((Membro) object).getNome() + "\" e suas dependncias?")) {
                    membroService.remover(((Membro) object).getId(), new AsyncCallback<Void>() {

                        @Override
                        public void onFailure(Throwable caught) {
                        };

                        @Override
                        public void onSuccess(Void result) {
                            limpar();
                            listarMembro();
                        };
                    });
                }
            }
        }
    });
    colunaRemover.setCellStyleNames("gwt-cell-pointer");
    cellTable.addColumn(colunaRemover, new String());
    cellTable.setColumnWidth(colunaRemover, "16px");

    dataProvider = new AsyncDataProvider<Object>() {

        @Override
        protected void onRangeChanged(HasData<Object> display) {
            final Range range = display.getVisibleRange();
            final int start = range.getStart();
            final int end = start + range.getLength();

            membroService.listar(textboxPesquisar.getText(), new AsyncCallback<List<Membro>>() {
                @Override
                public void onFailure(Throwable caught) {
                    Window.alert(caught.getMessage());
                }

                @Override
                public void onSuccess(List<Membro> result) {
                    // convert old list type to new list type
                    List<Object> list = new ArrayList<Object>(result.size());
                    for (Membro membro : result) {
                        list.add(membro);
                    }
                    updateRowData(start, list.subList(start, (result.size() < end) ? result.size() : end));
                    updateRowCount(result.size(), true);
                }
            });
        }
    };
    dataProvider.addDataDisplay(cellTable);
}

From source file:br.org.olimpiabarbacena.client.Pesquisar.java

License:Apache License

public void listarEmprestimo() {
    // remove todas as colunas
    for (int i = cellTable.getColumnCount() - 1; i >= 0; i--) {
        cellTable.removeColumn(i);/*ww  w  .  j  a v a  2 s.c o m*/
    }

    // Adiciona coluna imagem para exibir a situao.
    Column<Object, ImageResource> colunaSituacao = new Column<Object, ImageResource>(new ImageResourceCell()) {

        @Override
        public ImageResource getValue(Object object) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Emprestimo")) {
                if (((Emprestimo) object).getEntrega() == null) {
                    return Icons.INSTANCE.emprestado();
                } else {
                    return Icons.INSTANCE.baixado();
                }
            } else {
                return Icons.INSTANCE.desconhecido();
            }
        }
    };
    cellTable.addColumn(colunaSituacao, new String());
    cellTable.setColumnWidth(colunaSituacao, "16px");

    // Adiciona coluna texto para exibir o ttulo.
    TextColumn<Object> colunaNome = new TextColumn<Object>() {

        @Override
        public String getValue(Object object) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Emprestimo")) {
                return ((Emprestimo) object).getMidiaObject().getTitulo();
            }

            return new String();
        }
    };
    colunaNome.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT);
    cellTable.addColumn(colunaNome, "Ttulo");

    // Adiciona coluna com o boto reservar.
    ButtonCell buttonCellReservar = new ButtonCell() {

        @Override
        public void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
            if (data != null) {
                ImageResource icon = Icons.INSTANCE.reservar();
                String iconDisplay = AbstractImagePrototype.create(icon).getHTML();
                iconDisplay = iconDisplay.replaceFirst(">", " title=\"Reservar\">");
                SafeHtml html = SafeHtmlUtils.fromTrustedString(iconDisplay);
                sb.append(html);
            }
        }
    };
    Column<Object, String> colunaReservar = new Column<Object, String>(buttonCellReservar) {
        @Override
        public String getValue(Object object) {
            return "Reservar";
        }
    };
    colunaReservar.setFieldUpdater(new FieldUpdater<Object, String>() {
        @Override
        public void update(int index, Object object, String value) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Emprestimo")) {
                principal.getControle().setDialogo(new DialogBox(false));

                principal.getControle().getDialogo().setWidth("450px");
                principal.getControle().getDialogo().setHeight("91px");

                Reserva reserva = new Reserva(((Emprestimo) object), principal.getControle().getDialogo());

                principal.getControle().getDialogo().setWidget(reserva);
                principal.getControle().getDialogo().center();
            }
        }
    });
    colunaReservar.setCellStyleNames("gwt-cell-pointer");
    cellTable.addColumn(colunaReservar, new String());
    cellTable.setColumnWidth(colunaReservar, "16px");

    // Adiciona coluna com o boto reservar.
    ButtonCell buttonCellBaixar = new ButtonCell() {

        @Override
        public void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
            if (data != null) {
                ImageResource icon = Icons.INSTANCE.baixar();
                String iconDisplay = AbstractImagePrototype.create(icon).getHTML();
                iconDisplay = iconDisplay.replaceFirst(">", " title=\"Baixar\">");
                SafeHtml html = SafeHtmlUtils.fromTrustedString(iconDisplay);
                sb.append(html);
            }
        }
    };
    Column<Object, String> colunaBaixar = new Column<Object, String>(buttonCellBaixar) {
        @Override
        public String getValue(Object object) {
            return "Baixar";
        }
    };
    colunaBaixar.setFieldUpdater(new FieldUpdater<Object, String>() {
        @Override
        public void update(int index, Object object, String value) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Emprestimo")) {
                if (((Emprestimo) object).getEntrega() == null) {
                    if (Window.confirm("Deseja baixar \"" + ((Emprestimo) object).getMidiaObject().getTitulo()
                            + "\" emprestado para \"" + ((Emprestimo) object).getMembroObject().getNome()
                            + "\"?")) {
                        emprestimoService.baixar(((Emprestimo) object).getId(), new AsyncCallback<Void>() {

                            @Override
                            public void onFailure(Throwable caught) {
                            };

                            @Override
                            public void onSuccess(Void result) {
                                limpar();
                                listarEmprestimo();
                            };
                        });
                    }
                } else {
                    Window.alert("Esta mdia j foi devolvida.");
                }

            }
        }
    });
    colunaBaixar.setCellStyleNames("gwt-cell-pointer");
    cellTable.addColumn(colunaBaixar, new String());
    cellTable.setColumnWidth(colunaBaixar, "16px");

    // Adiciona coluna com o boto visualizar.
    ButtonCell buttonCellVisualizar = new ButtonCell() {

        @Override
        public void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
            if (data != null) {
                ImageResource icon = Icons.INSTANCE.visualizar();
                String iconDisplay = AbstractImagePrototype.create(icon).getHTML();
                iconDisplay = iconDisplay.replaceFirst(">", " title=\"Visualizar\">");
                SafeHtml html = SafeHtmlUtils.fromTrustedString(iconDisplay);
                sb.append(html);
            }
        }
    };
    Column<Object, String> colunaVisualizar = new Column<Object, String>(buttonCellVisualizar) {

        @Override
        public String getValue(Object object) {
            return "Visualizar";
        }
    };
    colunaVisualizar.setFieldUpdater(new FieldUpdater<Object, String>() {
        @Override
        public void update(int index, Object object, String value) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Emprestimo")) {

                principal.getControle().setDialogo(new DialogBox(false));

                principal.getControle().getDialogo().setWidth("451px");
                principal.getControle().getDialogo().setHeight("124px");

                principal.getControle().getDialogo().setWidget(
                        new br.org.olimpiabarbacena.client.formulario.midia.Emprestimo(((Emprestimo) object),
                                principal.getControle().getDialogo()));
                principal.getControle().getDialogo().center();
            }
        }
    });
    colunaVisualizar.setCellStyleNames("gwt-cell-pointer");
    cellTable.addColumn(colunaVisualizar, new String());
    cellTable.setColumnWidth(colunaVisualizar, "16px");

    // Adiciona coluna com o boto remover.
    ButtonCell buttonCellRemover = new ButtonCell() {

        @Override
        public void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
            if (data != null) {
                ImageResource icon = Icons.INSTANCE.remover();
                String iconDisplay = AbstractImagePrototype.create(icon).getHTML();
                iconDisplay = iconDisplay.replaceFirst(">", " title=\"Remover\">");
                SafeHtml html = SafeHtmlUtils.fromTrustedString(iconDisplay);
                sb.append(html);
            }
        }
    };
    Column<Object, String> colunaRemover = new Column<Object, String>(buttonCellRemover) {
        @Override
        public String getValue(Object object) {
            return "Remover";
        }
    };
    colunaRemover.setFieldUpdater(new FieldUpdater<Object, String>() {
        @Override
        public void update(int index, Object object, String value) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Emprestimo")) {
                if (Window.confirm("Deseja remover \"" + ((Emprestimo) object).getMidiaObject().getTitulo()
                        + "\" emprestado para \"" + ((Emprestimo) object).getMembroObject().getNome()
                        + "\"?")) {
                    emprestimoService.remover(((Emprestimo) object).getId(), new AsyncCallback<Void>() {

                        @Override
                        public void onFailure(Throwable caught) {
                        };

                        @Override
                        public void onSuccess(Void result) {
                            limpar();
                            listarEmprestimo();
                        };
                    });
                }
            }
        }
    });
    colunaRemover.setCellStyleNames("gwt-cell-pointer");
    cellTable.addColumn(colunaRemover, new String());
    cellTable.setColumnWidth(colunaRemover, "16px");

    dataProvider = new AsyncDataProvider<Object>() {

        @Override
        protected void onRangeChanged(HasData<Object> display) {
            final Range range = display.getVisibleRange();
            final int start = range.getStart();
            final int end = start + range.getLength();

            emprestimoService.listar(textboxPesquisar.getText(), new AsyncCallback<List<Emprestimo>>() {
                @Override
                public void onFailure(Throwable caught) {
                    Window.alert(caught.getMessage());
                }

                @Override
                public void onSuccess(List<Emprestimo> result) {
                    // convert old list type to new list type
                    List<Object> list = new ArrayList<Object>(result.size());
                    for (Emprestimo emprestimo : result) {
                        list.add(emprestimo);
                    }
                    updateRowData(start, list.subList(start, (result.size() < end) ? result.size() : end));
                    updateRowCount(result.size(), true);
                }
            });
        }
    };
    dataProvider.addDataDisplay(cellTable);
}

From source file:cc.alcina.framework.gwt.client.cell.ShowMorePager.java

License:Apache License

public void attachTo(HasRows display, ScrollPanel scrollable) {
    setDisplay(display);//from   w w  w. ja va2  s .  c o  m
    // Handle scroll events.
    scrollable.addScrollHandler(new ScrollHandler() {
        @Override
        public void onScroll(ScrollEvent event) {
            // If scrolling up, ignore the event.
            int oldScrollPos = lastScrollPos;
            lastScrollPos = scrollable.getVerticalScrollPosition();
            if (oldScrollPos >= lastScrollPos) {
                return;
            }
            HasRows display = getDisplay();
            if (display == null) {
                return;
            }
            int scrollPanelContentsHeight = scrollable.getWidget().getOffsetHeight();
            int scrollPanelHeight = scrollable.getOffsetHeight();
            int maxScrollTop = scrollPanelContentsHeight - scrollPanelHeight - 20;
            // hack but not sure how to deal with said autoscrolls
            if (Math.abs(lastScrollPos - oldScrollPos) > 500) {
                // handle autoscroll to end
                return;
            }
            if (lastScrollPos >= maxScrollTop) {
                // We are near the end, so increase the page size.
                int newPageSize = Math.min(display.getVisibleRange().getLength() + incrementSize,
                        display.getRowCount());
                if (newPageSize != 0) {
                    Range newRange = new Range(0, newPageSize);
                    if (display.getVisibleRange().getStart() == newRange.getStart()
                            && display.getVisibleRange().getLength() >= newRange.getLength()) {
                        // don't show a smaller visible range (which would
                        // force a search)
                        return;
                    }
                    display.setVisibleRange(0, newPageSize);
                }
            }
        }
    });
}

From source file:cc.kune.gspace.client.i18n.RangeLabelPager.java

License:Apache License

@Override
protected void onRangeOrRowCountChanged() {
    final HasRows display = getDisplay();
    final Range range = display.getVisibleRange();
    final int start = range.getStart();
    final int end = start + range.getLength();
    label.setText(start + " - " + end + " : " + display.getRowCount(), HasDirection.Direction.LTR);
}

From source file:cimav.client.view.provider.FilteredListDataProvider.java

@Override
protected void updateRowData(HasData display, int start, List values) {
    if (!hasFilter() || filter == null) { // we don't need to filter, so call base class
        super.updateRowData(display, start, values);
    } else {// ww  w. j a va2s.c om
        int end = start + values.size();
        Range range = display.getVisibleRange();
        int curStart = range.getStart();
        int curLength = range.getLength();
        int curEnd = curStart + curLength;
        if (start == curStart || (curStart < end && curEnd > start)) {
            int realStart = curStart < start ? start : curStart;
            int realEnd = curEnd > end ? end : curEnd;
            int realLength = realEnd - realStart;
            List<T> resulted = new ArrayList<T>(realLength);

            //TODO Si esta filtrada, despues de un Cancel solo deja un registro.

            for (int i = realStart - start; i < realStart - start + realLength; i++) {
                if (filter.matchFilter((T) values.get(i), getFilter())) {
                    resulted.add((T) values.get(i));
                }
            }
            display.setRowData(realStart, resulted);
            display.setRowCount(resulted.size());
        }
    }
}

From source file:com.agnie.useradmin.common.client.helper.AbstractDataFetcher.java

License:Open Source License

protected PageNSortVpx getPaging(Range range, CellTableView view, RequestContext ctx) {
    PageNSortVpx paging = ctx.create(PageNSortVpx.class);
    PageVpx page = ctx.create(PageVpx.class);
    page.setStartIndex(range.getStart());
    page.setPageSize(range.getLength());
    paging.setPage(page);/*from   ww w. ja  v a 2s  .  c om*/
    Sort sortInfo = view.getSortInfo();
    if (sortInfo != null) {
        SortVpx sort = ctx.create(SortVpx.class);
        sort.setColumn(sortInfo.getSortColumn());
        sort.setOrder(sortInfo.getOrder());
        paging.setSort(sort);
    }
    return paging;
}

From source file:com.chinarewards.gwt.license.client.widget.DefaultPager.java

/**
 * Get the text to display in the pager that reflects the state of the
 * pager./*from www . j ava2 s  .  co m*/
 * 
 * @return the text
 */
@Override
protected String createText() {
    // Default text is 1 based.
    final NumberFormat formatter = NumberFormat.getFormat("#,###");
    final HasRows display = getDisplay();
    Range range = display.getVisibleRange();
    int pageStart = range.getStart() + 1;
    final int pageSize = range.getLength();
    int dataSize = display.getRowCount();
    int endIndex = Math.min(dataSize, pageStart + pageSize - 1);
    endIndex = Math.max(pageStart, endIndex);
    boolean exact = display.isRowCountExact();

    // create listbox
    int currentPage = 0;
    int totalPage = 0;
    final ListBox pages = new ListBox();
    if (dataSize != 0) {
        currentPage = (pageStart - 1) / pageSize + 1;
        totalPage = (dataSize - 1) / pageSize + 1;

        for (int i = 1; i <= totalPage; i++) {
            pages.addItem(i + "", i + "");
        }
        pages.setSelectedIndex(currentPage - 1);
        pages.addChangeHandler(new ChangeHandler() {
            @Override
            public void onChange(ChangeEvent event) {
                String text = pages.getValue(pages.getSelectedIndex());
                int pageNum = (int) formatter.parse(text);
                int index = (pageNum - 1) * pageSize;
                display.setVisibleRange(index, pageSize);
            }
        });
    }

    // create label : total pages
    //getAdditionPanel().clear();
    //getAdditionPanel().add(new Label(" " + totalPage + " ,"));
    //getAdditionPanel().add(pages);
    //getAdditionPanel().add(new Label(""));

    // return formatter.format(pageStart) + "-" + formatter.format(endIndex)
    // + (exact ? " of " : " of over ") + formatter.format(dataSize);
    return "? " + currentPage + " ," + "" + totalPage + "," + dataSize + "?";
}

From source file:com.chinarewards.gwt.license.client.widget.EltNewPager.java

/**
 * Get the text to display in the pager that reflects the state of the
 * pager.//from  ww w  .  j  av a 2s  .c  o  m
 * 
 * @return the text
 */
protected String createText() {
    // Default text is 1 based.
    final NumberFormat formatter = NumberFormat.getFormat("#,###");
    final HasRows display = getDisplay();
    Range range = display.getVisibleRange();
    int pageStart = range.getStart() + 1;
    final int pageSize = range.getLength();
    int dataSize = display.getRowCount();
    int endIndex = Math.min(dataSize, pageStart + pageSize - 1);
    endIndex = Math.max(pageStart, endIndex);
    // boolean exact = display.isRowCountExact();

    // create listbox
    int currentPage = 0;
    int totalPage = 0;
    final ListBox pages = new ListBox();
    if (dataSize != 0) {
        currentPage = (pageStart - 1) / pageSize + 1;
        totalPage = (dataSize - 1) / pageSize + 1;

        for (int i = 1; i <= totalPage; i++) {
            pages.addItem(i + "", i + "");
        }
        pages.setSelectedIndex(currentPage - 1);
        pages.addChangeHandler(new ChangeHandler() {
            @Override
            public void onChange(ChangeEvent event) {
                String text = pages.getValue(pages.getSelectedIndex());
                int pageNum = (int) formatter.parse(text);
                int index = (pageNum - 1) * pageSize;
                display.setVisibleRange(index, pageSize);
            }
        });
    }

    setButtonStyle(currentPage, totalPage);
    return "";
    // return "? " + currentPage + " ,"+""+totalPage+","+dataSize+"?";
}