Frames | No Frames |
1: /* ======================================================================== 2: * JCommon : a free general purpose class library for the Java(tm) platform 3: * ======================================================================== 4: * 5: * (C) Copyright 2000-2005, by Object Refinery Limited and Contributors. 6: * 7: * Project Info: http://www.jfree.org/jcommon/index.html 8: * 9: * This library is free software; you can redistribute it and/or modify it 10: * under the terms of the GNU Lesser General Public License as published by 11: * the Free Software Foundation; either version 2.1 of the License, or 12: * (at your option) any later version. 13: * 14: * This library is distributed in the hope that it will be useful, but 15: * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 16: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 17: * License for more details. 18: * 19: * You should have received a copy of the GNU Lesser General Public 20: * License along with this library; if not, write to the Free Software 21: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 22: * USA. 23: * 24: * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 25: * in the United States and other countries.] 26: * 27: * ---------------- 28: * WizardPanel.java 29: * ---------------- 30: * (C) Copyright 2000-2004, by Object Refinery Limited. 31: * 32: * Original Author: David Gilbert (for Object Refinery Limited); 33: * Contributor(s): -; 34: * 35: * $Id: WizardPanel.java,v 1.5 2007/11/02 17:50:36 taqua Exp $ 36: * 37: * Changes (from 26-Oct-2001) 38: * -------------------------- 39: * 26-Oct-2001 : Changed package to com.jrefinery.ui.*; 40: * 14-Oct-2002 : Fixed errors reported by Checkstyle (DG); 41: * 42: */ 43: 44: package org.jfree.ui; 45: 46: import java.awt.LayoutManager; 47: import javax.swing.JPanel; 48: 49: /** 50: * A panel that provides the user interface for a single step in a WizardDialog. 51: * 52: * @author David Gilbert 53: */ 54: public abstract class WizardPanel extends JPanel { 55: 56: /** The owner. */ 57: private WizardDialog owner; 58: 59: /** 60: * Creates a new panel. 61: * 62: * @param layout the layout manager. 63: */ 64: protected WizardPanel(final LayoutManager layout) { 65: super(layout); 66: } 67: 68: /** 69: * Returns a reference to the dialog that owns the panel. 70: * 71: * @return the owner. 72: */ 73: public WizardDialog getOwner() { 74: return this.owner; 75: } 76: 77: /** 78: * Sets the reference to the dialog that owns the panel (this is called automatically by 79: * the dialog when the panel is added to the dialog). 80: * 81: * @param owner the owner. 82: */ 83: public void setOwner(final WizardDialog owner) { 84: this.owner = owner; 85: } 86: 87: /** 88: * Returns the result. 89: * 90: * @return the result. 91: */ 92: public Object getResult() { 93: return null; 94: } 95: 96: /** 97: * This method is called when the dialog redisplays this panel as a result of the user clicking 98: * the "Previous" button. Inside this method, subclasses should make a note of their current 99: * state, so that they can decide what to do when the user hits "Next". 100: */ 101: public abstract void returnFromLaterStep(); 102: 103: /** 104: * Returns true if it is OK to redisplay the last version of the next panel, or false if a new 105: * version is required. 106: * 107: * @return boolean. 108: */ 109: public abstract boolean canRedisplayNextPanel(); 110: 111: /** 112: * Returns true if there is a next panel. 113: * 114: * @return boolean. 115: */ 116: public abstract boolean hasNextPanel(); 117: 118: /** 119: * Returns true if it is possible to finish from this panel. 120: * 121: * @return boolean. 122: */ 123: public abstract boolean canFinish(); 124: 125: /** 126: * Returns the next panel in the sequence, given the current user input. Returns null if this 127: * panel is the last one in the sequence. 128: * 129: * @return the next panel in the sequence. 130: */ 131: public abstract WizardPanel getNextPanel(); 132: 133: }