Lines 12-17
Link Here
|
12 |
|
12 |
|
13 |
package org.eclipse.pde.internal.ui.editor.plugin; |
13 |
package org.eclipse.pde.internal.ui.editor.plugin; |
14 |
|
14 |
|
|
|
15 |
import java.util.ArrayList; |
16 |
import java.util.Collection; |
15 |
import java.util.HashMap; |
17 |
import java.util.HashMap; |
16 |
import java.util.Vector; |
18 |
import java.util.Vector; |
17 |
|
19 |
|
Lines 21-26
Link Here
|
21 |
import org.eclipse.jdt.core.IJavaProject; |
23 |
import org.eclipse.jdt.core.IJavaProject; |
22 |
import org.eclipse.jdt.core.IPackageFragment; |
24 |
import org.eclipse.jdt.core.IPackageFragment; |
23 |
import org.eclipse.jdt.core.JavaCore; |
25 |
import org.eclipse.jdt.core.JavaCore; |
|
|
26 |
import org.eclipse.jdt.core.JavaModelException; |
24 |
import org.eclipse.jdt.ui.JavaElementLabelProvider; |
27 |
import org.eclipse.jdt.ui.JavaElementLabelProvider; |
25 |
import org.eclipse.jdt.ui.JavaUI; |
28 |
import org.eclipse.jdt.ui.JavaUI; |
26 |
import org.eclipse.jdt.ui.actions.FindReferencesAction; |
29 |
import org.eclipse.jdt.ui.actions.FindReferencesAction; |
Lines 57-69
Link Here
|
57 |
import org.eclipse.pde.internal.ui.editor.TableSection; |
60 |
import org.eclipse.pde.internal.ui.editor.TableSection; |
58 |
import org.eclipse.pde.internal.ui.editor.context.InputContextManager; |
61 |
import org.eclipse.pde.internal.ui.editor.context.InputContextManager; |
59 |
import org.eclipse.pde.internal.ui.elements.DefaultTableProvider; |
62 |
import org.eclipse.pde.internal.ui.elements.DefaultTableProvider; |
|
|
63 |
import org.eclipse.pde.internal.ui.parts.ConditionalListSelectionDialog; |
60 |
import org.eclipse.pde.internal.ui.parts.TablePart; |
64 |
import org.eclipse.pde.internal.ui.parts.TablePart; |
61 |
import org.eclipse.pde.internal.ui.search.dependencies.CalculateUsesAction; |
65 |
import org.eclipse.pde.internal.ui.search.dependencies.CalculateUsesAction; |
62 |
import org.eclipse.pde.internal.ui.util.SWTUtil; |
66 |
import org.eclipse.pde.internal.ui.util.SWTUtil; |
63 |
import org.eclipse.search.ui.NewSearchUI; |
67 |
import org.eclipse.search.ui.NewSearchUI; |
64 |
import org.eclipse.swt.SWT; |
68 |
import org.eclipse.swt.SWT; |
|
|
69 |
import org.eclipse.swt.custom.BusyIndicator; |
65 |
import org.eclipse.swt.layout.GridData; |
70 |
import org.eclipse.swt.layout.GridData; |
66 |
import org.eclipse.swt.widgets.Composite; |
71 |
import org.eclipse.swt.widgets.Composite; |
|
|
72 |
import org.eclipse.swt.widgets.Display; |
67 |
import org.eclipse.swt.widgets.Table; |
73 |
import org.eclipse.swt.widgets.Table; |
68 |
import org.eclipse.ui.IViewPart; |
74 |
import org.eclipse.ui.IViewPart; |
69 |
import org.eclipse.ui.PartInitException; |
75 |
import org.eclipse.ui.PartInitException; |
Lines 435-450
Link Here
|
435 |
|
441 |
|
436 |
private void handleAdd() { |
442 |
private void handleAdd() { |
437 |
IPluginModelBase model = (IPluginModelBase) getPage().getModel(); |
443 |
IPluginModelBase model = (IPluginModelBase) getPage().getModel(); |
438 |
IProject project = model.getUnderlyingResource().getProject(); |
444 |
final IProject project = model.getUnderlyingResource().getProject(); |
439 |
try { |
445 |
try { |
440 |
if (project.hasNature(JavaCore.NATURE_ID)) { |
446 |
if (project.hasNature(JavaCore.NATURE_ID)) { |
441 |
ILabelProvider labelProvider = new JavaElementLabelProvider(); |
447 |
ILabelProvider labelProvider = new JavaElementLabelProvider(); |
442 |
PackageSelectionDialog dialog = new PackageSelectionDialog( |
448 |
final ConditionalListSelectionDialog dialog = new ConditionalListSelectionDialog( |
443 |
PDEPlugin.getActiveWorkbenchShell(), |
449 |
PDEPlugin.getActiveWorkbenchShell(), |
444 |
labelProvider, |
450 |
labelProvider, |
445 |
JavaCore.create(project), |
451 |
PDEUIMessages.ExportPackageSection_dialogButtonLabel); |
446 |
fHeader == null ? new Vector() : fHeader.getPackageNames(), |
452 |
final Collection pckgs = fHeader == null ? new Vector() : fHeader.getPackageNames(); |
447 |
"true".equals(getBundle().getHeader(ICoreConstants.ECLIPSE_JREBUNDLE))); //$NON-NLS-1$ |
453 |
final boolean allowJava = "true".equals(getBundle().getHeader(ICoreConstants.ECLIPSE_JREBUNDLE)); //$NON-NLS-1$ |
|
|
454 |
Runnable runnable = new Runnable() { |
455 |
public void run() { |
456 |
ArrayList elements = new ArrayList(); |
457 |
ArrayList conditional = new ArrayList(); |
458 |
IPackageFragment[] fragments = PDEJavaHelper.getPackageFragments(JavaCore.create(project), pckgs, allowJava); |
459 |
for (int i = 0; i < fragments.length; i++) { |
460 |
try { |
461 |
if (fragments[i].containsJavaResources()) { |
462 |
elements.add(fragments[i]); |
463 |
} else { |
464 |
conditional.add(fragments[i]); |
465 |
} |
466 |
} catch (JavaModelException e) { |
467 |
} |
468 |
} |
469 |
dialog.setElements(elements.toArray()); |
470 |
dialog.setConditionalElements(conditional.toArray()); |
471 |
dialog.setMultipleSelection(true); |
472 |
dialog.setMessage(PDEUIMessages.PackageSelectionDialog_label); |
473 |
dialog.setTitle(PDEUIMessages.ExportPackageSection_title); |
474 |
dialog.create(); |
475 |
SWTUtil.setDialogSize(dialog, 400, 500); |
476 |
} |
477 |
}; |
478 |
BusyIndicator.showWhile(Display.getCurrent(), runnable); |
448 |
if (dialog.open() == Window.OK) { |
479 |
if (dialog.open() == Window.OK) { |
449 |
Object[] selected = dialog.getResult(); |
480 |
Object[] selected = dialog.getResult(); |
450 |
if (fHeader != null) { |
481 |
if (fHeader != null) { |