| //------------------------------------------------------------------------------ |
| // Copyright (c) 2005, 2007 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 Corporation - initial implementation |
| //------------------------------------------------------------------------------ |
| package org.eclipse.epf.export.wizards; |
| |
| import java.util.Iterator; |
| import java.util.List; |
| |
| import org.eclipse.epf.authoring.ui.AuthoringUIText; |
| import org.eclipse.epf.export.ExportPlugin; |
| import org.eclipse.epf.export.ExportResources; |
| import org.eclipse.epf.export.services.PluginExportData; |
| import org.eclipse.epf.ui.wizards.BaseWizardPage; |
| import org.eclipse.epf.uma.MethodConfiguration; |
| import org.eclipse.epf.uma.MethodPlugin; |
| import org.eclipse.jface.text.Document; |
| import org.eclipse.jface.text.TextPresentation; |
| import org.eclipse.jface.text.TextViewer; |
| import org.eclipse.swt.SWT; |
| import org.eclipse.swt.custom.StyleRange; |
| import org.eclipse.swt.layout.GridLayout; |
| import org.eclipse.swt.widgets.Composite; |
| |
| /** |
| * A wizard page that displays a summary of the selected method plug-ins that |
| * will be exported. |
| * |
| * @author Jinhua Xi |
| * @author Kelvin Low |
| * @since 1.0 |
| */ |
| public class ExportPluginSummaryPage extends BaseWizardPage { |
| |
| public static final String PAGE_NAME = ExportPluginSummaryPage.class |
| .getName(); |
| |
| private TextViewer textViewer; |
| |
| private TextPresentation style; |
| |
| private PluginExportData data; |
| |
| /** |
| * Creates a new instance. |
| */ |
| public ExportPluginSummaryPage(PluginExportData data) { |
| super(PAGE_NAME); |
| setTitle(ExportResources.exportPluginSummaryPage_title); |
| setDescription(ExportResources.exportPluginSummaryPage_desc); |
| setImageDescriptor(ExportPlugin.getDefault().getImageDescriptor( |
| "full/wizban/exp_meth_plugin_wizban.gif")); //$NON-NLS-1$ |
| this.data = data; |
| } |
| |
| /** |
| * @see org.eclipse.jface.dialogs.IDialogPage#createControl(Composite) |
| */ |
| public void createControl(Composite parent) { |
| Composite container = new Composite(parent, SWT.NONE); |
| container.setLayout(new GridLayout()); |
| |
| textViewer = createTextViewer(container, 360, 160, 1); |
| Document doc = new Document(""); //$NON-NLS-1$ |
| textViewer.setDocument(doc); |
| |
| setControl(container); |
| setPageComplete(true); |
| } |
| |
| private void displaySummary() { |
| style = new TextPresentation(); |
| Document doc = getSummaryText(); |
| textViewer.setDocument(doc); |
| textViewer.changeTextPresentation(style, true); |
| } |
| |
| /** |
| * @see org.eclipse.epf.ui.wizards.BaseWizardPage#onEnterPage(Object) |
| */ |
| public void onEnterPage(Object obj) { |
| displaySummary(); |
| } |
| |
| /** |
| * Returns a document of the summary text. |
| */ |
| public Document getSummaryText() { |
| StringBuffer textBuf = new StringBuffer(); |
| |
| if (data.selectedPlugins == null || data.selectedPlugins.isEmpty()) |
| return new Document( |
| ExportResources.exportPluginSummaryPage_noPlugin_text); |
| |
| int start = 0; |
| int offset = 0; |
| for (MethodPlugin plugin : data.selectedPlugins) { |
| start = textBuf.length(); |
| offset = plugin.getName().length(); |
| style.addStyleRange(new StyleRange(start, offset, null, null, |
| SWT.BOLD)); |
| textBuf.append(plugin.getName()).append("\n"); //$NON-NLS-1$ |
| |
| start = textBuf.length(); |
| offset = AuthoringUIText.AUTHORS_TEXT.length(); |
| style.addStyleRange(new StyleRange(start, offset, null, null, |
| SWT.BOLD | SWT.ITALIC)); |
| textBuf |
| .append("\t").append(AuthoringUIText.AUTHORS_TEXT).append("\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
| textBuf.append("\t\t").append(plugin.getAuthors()).append("\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
| |
| start = textBuf.length(); |
| offset = AuthoringUIText.VERSION_TEXT.length(); |
| style.addStyleRange(new StyleRange(start, offset, null, null, |
| SWT.BOLD | SWT.ITALIC)); |
| textBuf |
| .append("\t").append(AuthoringUIText.VERSION_TEXT).append("\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
| textBuf.append("\t\t").append(plugin.getVersion()).append("\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
| |
| start = textBuf.length(); |
| offset = AuthoringUIText.BRIEF_DESCRIPTION_TEXT.length(); |
| style.addStyleRange(new StyleRange(start, offset, null, null, |
| SWT.BOLD | SWT.ITALIC)); |
| textBuf |
| .append("\t").append(AuthoringUIText.BRIEF_DESCRIPTION_TEXT).append("\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
| textBuf |
| .append("\t\t").append(plugin.getBriefDescription()).append("\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
| |
| start = textBuf.length(); |
| offset = ExportResources.reviewPluginsPage_dependentPluginsLabel_text |
| .length(); |
| style.addStyleRange(new StyleRange(start, offset, null, null, |
| SWT.BOLD | SWT.ITALIC)); |
| textBuf |
| .append("\t") //$NON-NLS-1$ |
| .append( |
| ExportResources.reviewPluginsPage_dependentPluginsLabel_text) |
| .append("\n"); //$NON-NLS-1$ |
| List dependentPluginList = plugin.getBases(); |
| boolean addLinefeed = true; |
| for (Iterator iter = dependentPluginList.iterator(); iter.hasNext();) { |
| MethodPlugin element = (MethodPlugin) iter.next(); |
| textBuf.append("\t\t").append(element.getName()).append("\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
| addLinefeed = false; |
| } |
| if (addLinefeed) |
| textBuf.append("\n"); //$NON-NLS-1$ |
| |
| start = textBuf.length(); |
| offset = ExportResources.reviewPluginsPage_associatedConfigsLabel_text |
| .length(); |
| style.addStyleRange(new StyleRange(start, offset, null, null, |
| SWT.BOLD | SWT.ITALIC)); |
| textBuf |
| .append("\t") //$NON-NLS-1$ |
| .append( |
| ExportResources.reviewPluginsPage_associatedConfigsLabel_text) |
| .append("\n"); //$NON-NLS-1$ |
| List associatedConfigList = (List) data.associatedConfigMap |
| .get(plugin); |
| for (Iterator iter = associatedConfigList.iterator(); iter |
| .hasNext();) { |
| MethodConfiguration element = (MethodConfiguration) iter.next(); |
| textBuf.append("\t\t").append(element.getName()).append("\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
| } |
| |
| textBuf.append("\n"); //$NON-NLS-1$ |
| } |
| |
| Document doc = new Document(textBuf.toString()); |
| return doc; |
| } |
| |
| } |