/* | |
* Copyright (C) 2012 The Android Open Source Project | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
package com.motorola.studio.android.packaging.ui.export; | |
import org.eclipse.jface.resource.ImageDescriptor; | |
import org.eclipse.jface.viewers.IStructuredSelection; | |
import org.eclipse.jface.wizard.WizardPage; | |
import org.eclipse.swt.SWT; | |
import org.eclipse.swt.layout.GridData; | |
import org.eclipse.swt.layout.GridLayout; | |
import org.eclipse.swt.widgets.Composite; | |
import org.eclipse.swt.widgets.Event; | |
import org.eclipse.swt.widgets.Listener; | |
import org.eclipse.ui.PlatformUI; | |
import org.eclipse.ui.plugin.AbstractUIPlugin; | |
import com.motorola.studio.android.packaging.ui.PackagingUIPlugin; | |
import com.motorola.studio.android.packaging.ui.i18n.Messages; | |
/** | |
* Package Export Wizard Page | |
* | |
*/ | |
public class PackageExportWizardPage extends WizardPage implements Listener | |
{ | |
private PackageExportWizardArea dialogArea; | |
private final IStructuredSelection structuredSelection; | |
private final boolean signEnabled; | |
/** | |
* Wizard page constructor. | |
* | |
* @param pageName | |
* @param selection | |
*/ | |
public PackageExportWizardPage(String pageName, IStructuredSelection selection, | |
boolean signEnabled) | |
{ | |
super(pageName); | |
this.structuredSelection = selection; | |
this.signEnabled = signEnabled; | |
setTitle(pageName); // NON-NLS-1 | |
ImageDescriptor imageDescriptor = | |
AbstractUIPlugin.imageDescriptorFromPlugin(PackagingUIPlugin.PLUGIN_ID, | |
PackagingUIPlugin.EXPORT_WIZARD_ICON); | |
if (imageDescriptor != null) | |
{ | |
setImageDescriptor(imageDescriptor); | |
} | |
setDescription(Messages.EXPORT_WIZARD_DESCRIPTION); | |
} | |
/** | |
* Create the Wizard page control | |
* | |
* @param parent | |
* the parent composite | |
*/ | |
public void createControl(Composite parent) | |
{ | |
Composite mainComposite = new Composite(parent, SWT.NONE); | |
mainComposite.setLayout(new GridLayout()); | |
mainComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); | |
mainComposite.addListener(SWT.Modify, this); | |
this.dialogArea = | |
new PackageExportWizardArea(structuredSelection, mainComposite, this.signEnabled); | |
PlatformUI.getWorkbench().getHelpSystem().setHelp(mainComposite, | |
PackagingUIPlugin.PACKAGING_WIZARD_CONTEXT_HELP_ID); | |
this.setControl(mainComposite); | |
} | |
/** | |
* Override the method isPageComplete | |
*/ | |
@Override | |
public boolean isPageComplete() | |
{ | |
boolean pageComplete = this.dialogArea.canFinish(); | |
setMessage(this.dialogArea.getMessage(), this.dialogArea.getSeverity()); | |
return pageComplete; | |
} | |
/** | |
* Delegates the finish operation to Dialog Implementation. | |
*/ | |
public boolean finish() | |
{ | |
return this.dialogArea.performFinish(); | |
} | |
/** | |
* Event Handler | |
* | |
* @param event | |
*/ | |
public void handleEvent(Event event) | |
{ | |
this.getContainer().updateButtons(); | |
setMessage(this.dialogArea.getMessage(), this.dialogArea.getSeverity()); | |
} | |
} |