예제 #1
0
  public WizardPageSelector(
      ArrayList<WizardPage<I, T>> pages, final CommandWithArg<WizardPage<I, T>> onSelected) {
    onSelected_ = onSelected;

    WizardResources res = WizardResources.INSTANCE;
    WizardResources.Styles styles = res.styles();

    FlowPanel pageSelectorPanel = new FlowPanel();
    pageSelectorPanel.addStyleName(styles.wizardPageSelector());
    pageSelectorPanel.setSize("100%", "100%");
    for (int i = 0; i < pages.size(); i++) {
      final WizardPage<I, T> page = pages.get(i);
      PageSelectorItem pageSelector =
          new PageSelectorItem(
              page,
              new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                  onSelected_.execute(page);
                }
              });

      if (i == 0) pageSelector.addStyleName(styles.wizardPageSelectorItemFirst());

      if (i == (pages.size() - 1)) pageSelector.addStyleName(styles.wizardPageSelectorItemLast());

      pageSelectorPanel.add(pageSelector);
    }

    initWidget(pageSelectorPanel);
  }