package name.abuchen.portfolio.ui.wizards;
import org.eclipse.jface.dialogs.IPageChangeProvider;
import org.eclipse.jface.dialogs.IPageChangedListener;
import org.eclipse.jface.dialogs.PageChangedEvent;
import org.eclipse.jface.wizard.IWizardContainer;
import org.eclipse.jface.wizard.WizardPage;
public abstract class AbstractWizardPage extends WizardPage
{
protected AbstractWizardPage(String pageName)
{
super(pageName);
}
public void beforePage()
{}
public void afterPage()
{}
public static final void attachPageListenerTo(final IWizardContainer c)
{
if (c instanceof IPageChangeProvider)
{
((IPageChangeProvider) c).addPageChangedListener(new IPageChangedListener()
{
private AbstractWizardPage currentPage;
@Override
public void pageChanged(PageChangedEvent event)
{
if (currentPage != null)
currentPage.afterPage();
currentPage = (AbstractWizardPage) event.getSelectedPage();
currentPage.beforePage();
}
});
}
}
}