package au.gov.ga.earthsci.model.ui.raster.wizard;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.Wizard;
import org.gdal.gdal.Dataset;
import au.gov.ga.earthsci.model.core.raster.GDALRasterModelParameters;
/**
* A wizard used to collect {@link GDALRasterModelParameters} used for creating
* a model instance from a raster dataset.
*
* @author James Navin (james.navin@ga.gov.au)
*/
public class RasterModelParametersWizard extends Wizard
{
private Dataset dataset;
private GDALRasterModelParameters params;
/**
* Create a new wizard backed by the given parameters object.
* <p/>
* Fields will be initialised from the values contained on the parameters
* object.
*
* @param dataset
* The raster dataset parameters are being collected for
* @param params
* The backing parameters. Values will be initialised from those
* found on the object.
*/
public RasterModelParametersWizard(Dataset dataset, GDALRasterModelParameters params)
{
this.dataset = dataset;
this.params = params;
setWindowTitle(Messages.RasterModelParametersWizard_WizardTitle);
setNeedsProgressMonitor(false);
}
@Override
public void addPages()
{
addPage(new DatasetBandSelectPage(dataset, params));
addPage(new ProjectionPage(params, dataset.GetProjection()));
addPage(new ColorMapPage(params));
addPage(new OtherInformationPage(params));
}
@Override
public boolean performFinish()
{
for (IWizardPage page : getPages())
{
if (page instanceof AbstractWizardPage)
{
((AbstractWizardPage<?>) page).bind();
}
}
return true;
}
/**
* Get the parameters object populated with collected values
*/
public GDALRasterModelParameters getRasterModelParams()
{
return params;
}
}