/**
* Copyright (c) 2010 Kenn Hussey 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:
* Kenn Hussey - Initial API and implementation
*/
package org.eclipse.emf.oda.ecore.ui.impl;
import java.util.Properties;
import org.eclipse.datatools.connectivity.oda.design.ui.wizards.DataSourceWizardPage;
import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
import org.eclipse.emf.oda.ecore.ui.ODAEcoreUIPlugin;
import org.eclipse.swt.widgets.Composite;
/**
* Wizard page for an Ecore data source.
*/
public class EcoreDataSourceWizardPage extends DataSourceWizardPage
{
protected EcoreDataSourcePageHelper pageHelper = null;
protected Properties properties = null;
public EcoreDataSourceWizardPage(String pageName)
{
super(pageName);
setMessage(EcoreDataSourcePageHelper.DEFAULT_MESSAGE);
setImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(ODAEcoreUIPlugin.INSTANCE.getImage("full/wizban/NewEcore"))); //$NON-NLS-1$
}
@Override
public void createPageCustomControl(Composite parent)
{
if (pageHelper == null)
{
pageHelper = new EcoreDataSourcePageHelper(this);
}
pageHelper.createCustomControl(parent);
pageHelper.initCustomControl(properties); // in case init was called before create
}
@Override
public void setInitialProperties(Properties dataSourceProperties)
{
properties = dataSourceProperties;
if (pageHelper == null)
{
return; // ignore, wait until createPageCustomControl to initialize
}
pageHelper.initCustomControl(properties);
}
@Override
public Properties collectCustomProperties()
{
if (pageHelper != null)
{
return pageHelper.collectCustomProperties(properties);
}
return (properties != null) ? properties : new Properties();
}
}