/** * Copyright (c) 2005-2006 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 - Initial API and implementation */ package org.eclipse.emf.exporter.ui.contribution.base; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Event; import org.eclipse.emf.converter.ui.contribution.base.ModelConverterPage; import org.eclipse.emf.exporter.ExporterPlugin; import org.eclipse.emf.exporter.ModelExporter; /** * @since 2.2.0 */ public class ModelExporterOptionsPage extends ModelConverterPage implements IModelExporterPage { protected Button saveEPackageURIButton; protected Button saveExporterButton; public ModelExporterOptionsPage(ModelExporter modelExporter, String pageName) { super(modelExporter, pageName); setPageComplete(true); setMessage(ExporterPlugin.getPlugin().getString("_UI_SaveWizardSettings_description")); } public ModelExporter getModelExporter() { return (ModelExporter)getModelConverter(); } public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.verticalSpacing = 12; composite.setLayout(layout); composite.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.GRAB_VERTICAL)); createSaveSettingsControl(composite); setControl(composite); } protected void createSaveSettingsControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); { GridLayout layout = new GridLayout(); layout.marginLeft = -5; layout.marginRight = -5; layout.marginTop = -5; layout.marginBottom = -5; composite.setLayout(layout); } saveEPackageURIButton = new Button(composite, SWT.CHECK); saveEPackageURIButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); saveEPackageURIButton.setText(ExporterPlugin.INSTANCE.getString("_UI_SavePackageURI_label")); saveEPackageURIButton.addListener(SWT.Selection, this); saveExporterButton = new Button(composite, SWT.CHECK); saveExporterButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); saveExporterButton.setText(ExporterPlugin.INSTANCE.getString("_UI_SaveWizardSettings_label")); saveExporterButton.addListener(SWT.Selection, this); } @Override protected void pageActivated(boolean firstTime, int cause) { if (firstTime) { saveEPackageURIButton.setSelection(getModelExporter().isSaveEPackageArtifactURI()); saveExporterButton.setSelection(getModelExporter().isSaveExporter()); } } @Override protected void doHandleEvent(Event event) { if (event.type == SWT.Selection) { if (event.widget == saveEPackageURIButton) getModelExporter().setSaveEPackageArtifactURI(saveEPackageURIButton.getSelection()); if (event.widget == saveExporterButton) getModelExporter().setSaveExporter(saveExporterButton.getSelection()); } } }