sftemplateswizard/com.nokia.s60tools.symbianfoundationtemplates/src/com/nokia/s60tools/symbianfoundationtemplates/ui/wizards/BaseTemplateWizardPage.java
author dpodwall
Tue, 12 Jan 2010 13:17:53 -0600
changeset 0 61163b28edca
permissions -rw-r--r--
initial EPL conversion

/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:
*
*/
package com.nokia.s60tools.symbianfoundationtemplates.ui.wizards;

import java.util.AbstractList;

import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.wizard.WizardPage;

import com.nokia.s60tools.symbianfoundationtemplates.engine.OriginalTemplate;

/**
 * Base template wizard page.
 *
 */
public abstract class BaseTemplateWizardPage extends WizardPage {
	/**
	 * The default constructor.
	 * 
	 * @param title the page title
	 */
	protected BaseTemplateWizardPage(String title) {
		super(title);
	}
	
	/**
	 * Apply the given status to the wizard.
	 * 
	 * @param status the status of the page
	 */
	public void applyStatus(IStatus status) {
		String message = status.getMessage();
	
		switch(status.getSeverity()) {
			case IStatus.OK:
				setErrorMessage(null);
				if(message.length() == 0)
					setMessage(getPageMessage());
				break;
			case IStatus.WARNING:
				setErrorMessage(null);
				setMessage(message, WizardPage.WARNING);
				break;				
			case IStatus.INFO:
				setErrorMessage(null);
				setMessage(message, WizardPage.INFORMATION);
				break;			
			default:
				setErrorMessage(message);
				setMessage(null);
				break;		
		}
	}
	
	/**
	 * Get templates from the page.
	 * 
	 * @return the templates
	 */
	public abstract AbstractList<OriginalTemplate> getTemplates();
	
	/**
	 * Get this pages message for the wizard.
	 * 
	 * @return the message
	 */
	public abstract String getPageMessage();
	
	/**
	 * Get the status of this page.
	 * 
	 * @return the status
	 */
	public abstract IStatus getStatus();

	/**
	 * Save the preferences to the preference store.
	 *
	 */
	protected abstract void savePreferencesToStore();
}