Ejemplo n.º 1
0
  private Widget createPageControllerPanel(final FlexTable mainPanel) {
    final IconButton nextPageImageButton =
        new IconButton(
            null,
            true,
            BaseImageBundle.images.next(),
            BaseImageBundle.images.next(),
            BaseImageBundle.images.next(),
            BaseImageBundle.images.next());
    nextPageImageButton.setSTYLE("commentToolBarButton");
    nextPageImageButton.addClickHandler(
        new ClickHandler() {
          public void onClick(ClickEvent event) {
            if (pageNumber == lastPageNumber) {
              return;
            }
            pageNumber++;
            fetchPage();
          }
        });
    final IconButton previousPageImageButton =
        new IconButton(
            null,
            false,
            BaseImageBundle.images.previous(),
            BaseImageBundle.images.previous(),
            BaseImageBundle.images.previous(),
            BaseImageBundle.images.previous());
    previousPageImageButton.setSTYLE("commentToolBarButton");
    previousPageImageButton.addClickHandler(
        new ClickHandler() {
          public void onClick(ClickEvent event) {
            if (pageNumber == 0) {
              return;
            }
            pageNumber--;
            fetchPage();
          }
        });
    final IconButton lastPageImageButton =
        new IconButton(
            null,
            false,
            BaseImageBundle.images.last(),
            BaseImageBundle.images.last(),
            BaseImageBundle.images.last(),
            BaseImageBundle.images.last());
    lastPageImageButton.setSTYLE("commentToolBarButton");
    lastPageImageButton.addClickHandler(
        new ClickHandler() {
          public void onClick(ClickEvent event) {
            pageNumber = (int) lastPageNumber;
            fetchPage();
          }
        });
    final IconButton firstPageImageButton =
        new IconButton(
            null,
            false,
            BaseImageBundle.images.first(),
            BaseImageBundle.images.first(),
            BaseImageBundle.images.first(),
            BaseImageBundle.images.first());
    firstPageImageButton.setSTYLE("commentToolBarButton");
    firstPageImageButton.addClickHandler(
        new ClickHandler() {
          public void onClick(ClickEvent event) {
            pageNumber = 0;
            fetchPage();
          }
        });
    if (lastPageNumber < 0) {
      firstPageImageButton.setEnabled(false);
      previousPageImageButton.setEnabled(false);
      nextPageImageButton.setEnabled(false);
      lastPageImageButton.setEnabled(false);
    }

    HorizontalPanel buttonPanel = new HorizontalPanel();
    buttonPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    buttonPanel.add(firstPageImageButton);
    buttonPanel.add(previousPageImageButton);
    Label pageLabel = new Label("Page " + (pageNumber + 1) + " of " + (lastPageNumber + 1), false);
    if (lastPageNumber < 0) {
      pageLabel.setText("Page 1 of 1");
    }
    DOM.setStyleAttribute(pageLabel.getElement(), "margin", "0 5px 0 5px");
    buttonPanel.add(pageLabel);
    buttonPanel.add(nextPageImageButton);
    buttonPanel.add(lastPageImageButton);
    return buttonPanel;
  }