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

/**
 * An interface between a content provider and its parent container. A content
 * provider is responsible for creating dynamic intro content, while the content
 * provider site is responsible for reflowing the new content in the intro part.
 * An intro content provider site may have more than one content provider. The
 * id of the content provider can be used to distinguish the source of the
 * reflow.
 * <p>
 * This interface is not intended to be implemented or extended by clients.
 * 
 * @since 3.0.1
 */
public interface IIntroContentProviderSite {
    /**
     * This method will be called when the IIntroContentProvider is notified
     * that its content has become stale. For an HTML presentation, the whole
     * page should be regenerated. An SWT presentation should cause the page's
     * layout to be updated.
     * 
     * @param provider
     *            the content provider that requests a reflow
     * @param incremental
     *            if <code>true</code>, an attempt should be made to
     *            incrementally reflow the page. Otherwise, the page should be
     *            recreated from scratch. This is just a hint and the
     *            implementation of the interface can ignore it.
     */
    public void reflow(IIntroContentProvider provider, boolean incremental);
}
