01: /**
02: * Wizard Framework
03: * Copyright 2004 - 2005 Andrew Pietsch
04: *
05: * This library is free software; you can redistribute it and/or
06: * modify it under the terms of the GNU Lesser General Public
07: * License as published by the Free Software Foundation; either
08: * version 2.1 of the License, or (at your option) any later version.
09: *
10: * This library is distributed in the hope that it will be useful,
11: * but WITHOUT ANY WARRANTY; without even the implied warranty of
12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13: * Lesser General Public License for more details.
14: *
15: * You should have received a copy of the GNU Lesser General Public
16: * License along with this library; if not, write to the Free Software
17: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18: *
19: * $Id: WizardPane.java,v 1.4 2005/05/16 23:07:01 pietschy Exp $
20: */package org.pietschy.wizard.pane;
21:
22: import org.pietschy.wizard.InvalidStateException;
23: import org.pietschy.wizard.WizardModel;
24: import org.pietschy.wizard.WizardStep;
25:
26: /**
27: * WizardPane: must be implemented by components that want to act as wizard
28: * panes in collaboration with a {@link WizardPaneStep}.
29: *
30: * @author Andrea Aime
31: * @deprecated since 0.1.10. WizardStep is now an interface allowing implementation by any swing
32: * componenent. See {@link org.pietschy.wizard.PanelWizardStep}.
33: */
34: public interface WizardPane {
35:
36: /**
37: * Called to initialize the step. This method will be called when the wizard
38: * is first initialising. You should get a reference to the {@link org.pietschy.wizard.WizardStep}
39: * in order to call {@link org.pietschy.wizard.WizardStep#setComplete(boolean) when the step is filled with enough information,
40: * and a reference to the model in order to update it on {òlink #applyState}.
41: *
42: * @param WizardStep the step that uses this pane
43: * @param model the model to which the step belongs.
44: */
45: public void init(WizardStep step, WizardModel model);
46:
47: /**
48: * This method is called whenever the user presses next while this step is
49: * active.
50: * <p>
51: * If this method will take a long time to complete, implementors should
52: * consider executing the work and a separate thread calling
53: * {@link WizardStep#setView}with some kind of progress indicator.
54: * <p>
55: * This method will only be called if {@link WizardModel#isNextAvailable}
56: * and {@link WizardStep#isComplete}return true.
57: *
58: * @throws InvalidStateException if an error occurs and the wizard can't progress to the next
59: * step. By default the message of this exception will be
60: * displayed to the user. If you wish to prevent this behaviour
61: * please ensure {@link InvalidStateException#setShowUser}is
62: * called with a value of <tt>false</tt>.
63: */
64: public void applyState() throws InvalidStateException;
65:
66: /**
67: * Called to prepare this step to display. Implementors should query the model
68: * and configure their view appropriately.
69: * <p>
70: * This method will be called whenever the step is to be displayed,
71: * regardless of whether the user pressed next or previous.
72: */
73: public void prepare();
74:
75: }
|