View | Details | Raw Unified | Return to bug 200757
Collapse All | Expand All

(-)src/org/eclipse/pde/internal/ui/editor/plugin/ExportPackageSection.java (-7 / +38 lines)
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) {
(-)src/org/eclipse/pde/internal/ui/pderesources.properties (+1 lines)
Lines 2129-2134 Link Here
2129
RemoveInternalDirective_label=Remove redundant x-internal header
2129
RemoveInternalDirective_label=Remove redundant x-internal header
2130
RemoveInternalDirective_desc=The x-friends directive implies x-internal, so the latter is redundant
2130
RemoveInternalDirective_desc=The x-friends directive implies x-internal, so the latter is redundant
2131
ImportPackageSection_dialogButtonLabel=&Show non-exported packages
2131
ImportPackageSection_dialogButtonLabel=&Show non-exported packages
2132
ExportPackageSection_dialogButtonLabel=&Show non-Java packages
2132
MissingResourcePage_missingResource=Missing Resource
2133
MissingResourcePage_missingResource=Missing Resource
2133
MissingResourcePage_unableToOpenFull={0}: ''{1}'' of project ''{2}'' is not available.
2134
MissingResourcePage_unableToOpenFull={0}: ''{1}'' of project ''{2}'' is not available.
2134
EditorPreferencePage_folding = &Enable folding when opening a new editor
2135
EditorPreferencePage_folding = &Enable folding when opening a new editor
(-)src/org/eclipse/pde/internal/ui/PDEUIMessages.java (+2 lines)
Lines 2130-2135 Link Here
2130
2130
2131
	public static String ExportPackageSection_propertyAction;
2131
	public static String ExportPackageSection_propertyAction;
2132
2132
2133
	public static String ExportPackageSection_dialogButtonLabel;
2134
2133
	public static String DependenciesPage_properties;
2135
	public static String DependenciesPage_properties;
2134
2136
2135
	public static String ImportPackageSection_add;
2137
	public static String ImportPackageSection_add;

Return to bug 200757