1package autotest.moblab.wizard;
2
3import com.google.gwt.user.client.ui.CaptionPanel;
4import com.google.gwt.user.client.ui.VerticalPanel;
5import com.google.gwt.user.client.ui.Widget;
6
7
8/**
9 * A wizard view mode widget contains a list card. Each card show a title and
10 * card widget. The view mode widget also has a set of navigation buttons on
11 * the top.
12 */
13public class ConfigViewMode implements ConfigWizard.ConfigWizardMode {
14  private ConfigWizard wizard;
15  private CaptionPanel[] cardContainers;
16
17  public ConfigViewMode(ConfigWizard wizard) {
18    this.wizard = wizard;
19  }
20
21  private Widget reloadModeWidget() {
22    VerticalPanel pnlContent = new VerticalPanel();
23    pnlContent.setStyleName("wizard-view-panel");
24
25    WizardCard[] cards = wizard.getCards();
26    cardContainers = new CaptionPanel[cards.length];
27    for (int count = 0; count < cards.length; count++) {
28      CaptionPanel pnlCard = new CaptionPanel();
29      pnlCard.setCaptionText(cards[count].getViewTitle());
30      pnlContent.add(pnlCard);
31      cardContainers[count] = pnlCard;
32    }
33    return pnlContent;
34  }
35
36  @Override
37  public void hide() {
38  }
39
40  @Override
41  public Widget display() {
42    Widget widget = reloadModeWidget();
43    WizardCard[] cards = wizard.getCards();
44    for (int count = 0; count < cards.length; count++) {
45      cardContainers[count].setContentWidget(cards[count].switchToMode(ConfigWizard.Mode.View));
46    }
47    return widget;
48  }
49}
50