protected void handleAdd() { ElementListSelectionDialog dialog = new ElementListSelectionDialog(PDEPlugin.getActiveWorkbenchShell(), new StyledBundleLabelProvider(false, false)); dialog.setTitle(PDEUIMessages.PluginSelectionDialog_title); dialog.setMessage(PDEUIMessages.PluginSelectionDialog_message); dialog.setMultipleSelection(true); try { dialog.setElements(getValidBundles()); } catch (CoreException e) { dialog.setMessage(e.getMessage()); } dialog.create(); PlatformUI.getWorkbench().getHelpSystem().setHelp(dialog.getShell(), IHelpContextIds.IMPLICIT_DEPENDENCIES_SELECTION_DIALOG); if (dialog.open() == Window.OK) { Object[] models = dialog.getResult(); ArrayList<NameVersionDescriptor> pluginsToAdd = new ArrayList<>(); for (Object model : models) { BundleInfo selected = ((BundleInfo) model); pluginsToAdd.add(new NameVersionDescriptor(selected.getSymbolicName(), null)); } Set<NameVersionDescriptor> allDependencies = new HashSet<>(); allDependencies.addAll(pluginsToAdd); NameVersionDescriptor[] currentBundles = getTarget().getImplicitDependencies(); if (currentBundles != null) { allDependencies.addAll(Arrays.asList(currentBundles)); } getTarget().setImplicitDependencies(allDependencies.toArray(new NameVersionDescriptor[allDependencies.size()])); markDirty(); refresh(); } }
private void handleAdd() { ElementListSelectionDialog dialog = new ElementListSelectionDialog(PDEPlugin.getActiveWorkbenchShell(), new EELabelProvider()); dialog.setElements(getEnvironments()); dialog.setAllowDuplicates(false); dialog.setMultipleSelection(true); dialog.setTitle(PDEUIMessages.RequiredExecutionEnvironmentSection_dialog_title); dialog.setMessage(PDEUIMessages.RequiredExecutionEnvironmentSection_dialogMessage); dialog.create(); PlatformUI.getWorkbench().getHelpSystem().setHelp(dialog.getShell(), IHelpContextIds.EXECUTION_ENVIRONMENT_SELECTION); if (dialog.open() == Window.OK) { addExecutionEnvironments(dialog.getResult()); } }