+++ /dev/null
-package tim.prune.gui;
-
-import java.awt.CardLayout;
-import java.awt.Component;
-import javax.swing.JPanel;
-
-/**
- * Layout class enhancing the regular card layout to add the ability to
- * see which is the current card, how many cards there are, previous / next etc
- */
-public class WizardLayout extends CardLayout
-{
- private JPanel _panel = null;
- private int _currentCard = 0;
- private int _numCards = 0;
-
- /**
- * Constructor
- * @param inPanel panel controlled by this layout
- */
- public WizardLayout(JPanel inPanel)
- {
- super();
- _panel = inPanel;
- _panel.setLayout(this);
- }
-
- /**
- * Add a card to this layout
- * @param inCard
- */
- public void addCard(Component inCard)
- {
- _panel.add(inCard, "card" + _numCards);
- _numCards++;
- }
-
- /**
- * @return current card index (from 0)
- */
- public int getCurrentCardIndex() {
- return _currentCard;
- }
-
- /**
- * Go to the first card
- */
- public void showFirstCard()
- {
- first(_panel);
- _currentCard = 0;
- }
-
- /**
- * Go to the next card
- */
- public void showNextCard()
- {
- if (_currentCard < (_numCards-1))
- {
- next(_panel);
- _currentCard++;
- }
- }
-
- /**
- * Go to the previous card
- */
- public void showPreviousCard()
- {
- if (_currentCard > 0)
- {
- previous(_panel);
- _currentCard--;
- }
- }
-
- /**
- * @return true if this is the first card
- */
- public boolean isFirstCard() {
- return _currentCard == 0;
- }
-
- /**
- * @return true if this is the last card
- */
- public boolean isLastCard() {
- return _currentCard == (_numCards-1);
- }
-
- /**
- * @param inIndex index (from 0) of the card to show
- */
- public void showCard(int inIndex)
- {
- if (inIndex >= 0 && inIndex < _numCards) {
- show(_panel, "card" + inIndex);
- _currentCard = inIndex;
- }
- }
-}