/*******************************************************************************
 * Copyright (c) 2004 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials 
 * are made available under the terms of the Common Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/cpl-v10.html
 * 
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/

package org.eclipse.jface.wizard;

/**
 * <p><code>IWizardContainer2</code> is a supplement to 
 * <code>IWizardContainer</code> that adds a method for updating the size of 
 * the wizard shell based on the contents of the current page.</p>
 * 
 * <p>The class <code>WizardDialog</code> provides a fully functional 
 * implementation of this interface which will meet the needs of
 * most clients. However, clients are also free to implement this 
 * interface if <code>WizardDialog</code> does not suit their needs.
 * </p>
 * 
 * @see org.eclipse.jface.wizard.IWizardContainer
 * @since 3.0
 */
public interface IWizardContainer2 extends IWizardContainer {

    /**
     * Updates the window size to reflect the state of the current wizard.
     * <p>
     * This method is called by the container itself
     * when its wizard changes and may be called
     * by the wizard at other times to force a window 
     * size change.
     * </p>
     */
    public void updateSize();
}