/** Show this next page in the wizard */ protected void showNextPage() { if (currPageIndex.equals(pages.size() - 1)) { // Last page so dispose cleanup(); return; } AbstractWizardPanel page = pages.get(currPageIndex); // Remove page from ignored list if requested if (page.getEnablePageClassArray().size() > 0) { for (Class<? extends AbstractWizardPanel> ignorePage : page.getEnablePageClassArray()) { ignoredPages.remove(ignorePage); } } // Add page to ignored list if requested if (page.getDisablePageClassArray().size() > 0) { for (Class<? extends AbstractWizardPanel> ignorePage : page.getDisablePageClassArray()) { if (!ignoredPages.contains(ignorePage)) { ignoredPages.add(ignorePage); } } } showPage(currPageIndex + 1, Direction.FORWARD); }
protected void cleanup() { for (AbstractWizardPanel page : pages) { page.finish(); } dispose(); }
/** * Show the specified wizard page * * @param index */ private void showPage(Integer index, Direction dir) { AbstractWizardPanel page; try { page = pages.get(index); } catch (Exception e) { log.error("Error setting wizard page to index: " + index); e.printStackTrace(); return; } // Check to see if page should be ignored if (isIgnoredPageClass(page)) { if (dir.equals(Direction.FORWARD)) { index++; } else { index--; } showPage(index, dir); return; } pagePanel.removeAll(); pagePanel.add(page); lblTitle.setText(page.getTitle()); txtInstructions.setText(page.getInstructions()); currPageIndex = index; autoEnableNavButtons(); page.initialViewTasks(); pagePanel.repaint(); }
private Boolean isIgnoredPageClass(AbstractWizardPanel page) { for (Class<? extends AbstractWizardPanel> clazz : ignoredPages) { if (page.getClass().equals(clazz)) { return true; } } return false; }