001 /*
002 * Copyright 2002-2004 the original author or authors.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
005 * use this file except in compliance with the License. You may obtain a copy of
006 * the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
012 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
013 * License for the specific language governing permissions and limitations under
014 * the License.
015 */
016 package org.springframework.richclient.wizard;
017
018 import org.springframework.richclient.core.Guarded;
019 import org.springframework.richclient.dialog.DialogPage;
020
021 public interface WizardPage extends DialogPage, Guarded {
022
023 /**
024 * Returns the wizard page that would to be shown if the user was to press
025 * the Next button.
026 *
027 * @return the next wizard page, or <code>null</code> if none
028 */
029 public WizardPage getNextPage();
030
031 /**
032 * Returns the wizard page that would to be shown if the user was to press
033 * the Back button.
034 *
035 * @return the previous wizard page, or <code>null</code> if none
036 */
037 public WizardPage getPreviousPage();
038
039 /**
040 * Sets the wizard page that would typically be shown if the user was to
041 * press the Back button.
042 * <p>
043 * This method is called by the container.
044 * </p>
045 *
046 * @param page
047 * the previous wizard page
048 */
049 public void setPreviousPage(WizardPage page);
050
051 /**
052 * Returns the wizard that hosts this wizard page.
053 *
054 * @return the wizard, or <code>null</code> if this page has not been
055 * added to any wizard
056 * @see #setWizard
057 */
058 public Wizard getWizard();
059
060 /**
061 * Returns whether the next page could be displayed.
062 *
063 * @return <code>true</code> if the next page could be displayed, and
064 * <code>false</code> otherwise
065 */
066 public boolean canFlipToNextPage();
067
068 /**
069 * Sets the wizard that hosts this wizard page. Once established, a page's
070 * wizard cannot be changed to a different wizard.
071 *
072 * @param newWizard
073 * the wizard
074 * @see #getWizard
075 */
076 public void setWizard(Wizard newWizard);
077
078 public void onAboutToShow();
079 }