1 11 package org.eclipse.pde.internal.ui.editor.feature; 12 13 import org.eclipse.core.runtime.*; 14 import org.eclipse.pde.core.plugin.*; 15 import org.eclipse.pde.internal.core.feature.*; 16 import org.eclipse.pde.internal.core.ifeature.*; 17 import org.eclipse.pde.internal.ui.*; 18 import org.eclipse.swt.widgets.*; 19 import org.eclipse.ui.help.*; 20 21 public class NewFeaturePluginWizardPage extends ReferenceWizardPage { 22 public static final String KEY_TITLE = "FeatureEditor.PluginSection.new.title"; public static final String KEY_DESC = "FeatureEditor.PluginSection.new.desc"; public static final String KEY_ADDING = "FeatureEditor.PluginSection.new.adding"; public static final String KEY_UPDATING = 26 "FeatureEditor.PluginSection.new.updating"; 28 public NewFeaturePluginWizardPage(IFeatureModel model) { 29 super(model, false); 30 setTitle(PDEPlugin.getResourceString(KEY_TITLE)); 31 setDescription(PDEPlugin.getResourceString(KEY_DESC)); 32 } 33 34 protected boolean isOnTheList(IPluginModelBase candidate) { 35 IPluginBase plugin = candidate.getPluginBase(); 36 IFeaturePlugin[] fplugins = model.getFeature().getPlugins(); 37 38 for (int i = 0; i < fplugins.length; i++) { 39 IFeaturePlugin fplugin = fplugins[i]; 40 if (fplugin.getId().equals(plugin.getId())) 41 return true; 42 } 43 return false; 44 } 45 46 protected void doAdd(Object [] candidates, IProgressMonitor monitor) throws CoreException { 47 monitor.beginTask( 48 PDEPlugin.getResourceString(KEY_ADDING), 49 candidates.length + 1); 50 IFeature feature = model.getFeature(); 51 IFeaturePlugin[] added = new IFeaturePlugin[candidates.length]; 52 for (int i = 0; i < candidates.length; i++) { 53 IPluginModelBase candidate = (IPluginModelBase) candidates[i]; 54 monitor.subTask(candidate.getPluginBase().getTranslatedName()); 55 FeaturePlugin fplugin = (FeaturePlugin) model.getFactory().createPlugin(); 56 fplugin.loadFrom(candidate.getPluginBase()); 57 added[i] = fplugin; 58 monitor.worked(1); 59 } 60 monitor.subTask(""); monitor.setTaskName(PDEPlugin.getResourceString(KEY_UPDATING)); 62 feature.addPlugins(added); 63 monitor.worked(1); 64 } 65 66 public void createControl(Composite parent) { 67 super.createControl(parent); 68 WorkbenchHelp.setHelp(getControl(),IHelpContextIds.FEATURE_ADD_PACKAGED_WIZARD); 69 } 70 71 } 72 | Popular Tags |