code: protected void configureNavi (FlexTable controls, int row, int col,
                                    int start, int limit, int total)
      {
          HorizontalPanel panel = new HorizontalPanel();
          panel.add(new Label("Page:")); // TODO: i18n
  
          // determine which pages we want to show
          int page = 1+start/_resultsPerPage;
  
          int pages;
          if (total < 0) {
              pages = page + 1;
          } else {
              pages = total/_resultsPerPage + (total%_resultsPerPage == 0 ? 0 : 1);
          }
  
          List<Integer> shown = new ArrayList<Integer>();
          shown.add(1);
          for (int ii = Math.max(2, Math.min(page-2, pages-5));
               ii <= Math.min(pages-1, Math.max(page+2, 6)); ii++) {
              shown.add(ii);
          }
          if (pages != 1) {
              shown.add(pages);
          }
  
          // now display those as "Page: _1_ ... _3_ _4_ 5 _6_ _7_ ... _10_"
          int ppage = 0;
          for (Integer cpage : shown) {
              if (cpage - ppage > 1) {
                  panel.add(createPageLabel("...", null));
              }
              if (cpage == page) {
                  panel.add(createPageLabel(""+page, "Current"));
              } else {
                  panel.add(createPageLinkLabel(cpage));
              }
              ppage = cpage;
          }
          if (total < 0) {
              panel.add(createPageLabel("...", null));
          }
          controls.setWidget(row, col, panel);
          controls.getFlexCellFormatter().setHorizontalAlignment(row, col, HasAlignment.ALIGN_CENTER);
      }
docs: Get the text that should be shown in the header bar between the "prev" and "next" buttons.