Skip to content

Commit 0f5e757

Browse files
author
Neha Burnwal
committed
Added a button to show launch bundles
1 parent 9213517 commit 0f5e757

File tree

4 files changed

+55
-6
lines changed

4 files changed

+55
-6
lines changed

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/PDEUIMessages.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1525,6 +1525,7 @@ public class PDEUIMessages extends NLS {
15251525
public static String TemplateSelectionPage_column_point;
15261526

15271527
public static String PluginSelectionDialog_title;
1528+
public static String LaunchPluginDialog_title;
15281529
public static String PluginSelectionDialog_message;
15291530

15301531
public static String PluginImportOperation_could_not_delete_project;
@@ -2478,6 +2479,8 @@ public class PDEUIMessages extends NLS {
24782479

24792480
public static String AbstractPluginBlock_counter;
24802481

2482+
public static String PluginsTabToolBar_show_launch_bundles;
2483+
24812484
public static String AbstractRepository_ErrorLoadingImageFromJar;
24822485

24832486
public static String AbstractRepository_ScanForUI;

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/launcher/AbstractPluginBlock.java

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import org.eclipse.debug.core.ILaunchConfiguration;
4343
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
4444
import org.eclipse.jdt.core.IJavaProject;
45+
import org.eclipse.jface.dialogs.IDialogConstants;
4546
import org.eclipse.jface.dialogs.MessageDialog;
4647
import org.eclipse.jface.util.Util;
4748
import org.eclipse.jface.viewers.CheckStateChangedEvent;
@@ -67,6 +68,7 @@
6768
import org.eclipse.pde.internal.ui.PDEPluginImages;
6869
import org.eclipse.pde.internal.ui.PDEUIMessages;
6970
import org.eclipse.pde.internal.ui.SWTFactory;
71+
import org.eclipse.pde.internal.ui.dialogs.PluginSelectionDialog;
7072
import org.eclipse.pde.internal.ui.elements.NamedElement;
7173
import org.eclipse.pde.internal.ui.shared.CachedCheckboxTreeViewer;
7274
import org.eclipse.pde.internal.ui.shared.FilteredCheckboxTree;
@@ -435,14 +437,21 @@ public void createControl(Composite parent, int span, int indent) {
435437
label.setLayoutData(gd);
436438

437439
if (fTab instanceof PluginsTab) {
438-
fAutoValidate = createButton(parent, span - 1, indent, PDEUIMessages.PluginsTabToolBar_auto_validate_plugins);
440+
fAutoValidate = createButton(parent, span - 2, indent,
441+
PDEUIMessages.PluginsTabToolBar_auto_validate_plugins);
439442
} else if (fTab instanceof BundlesTab) {
440-
fAutoValidate = createButton(parent, span - 1, indent, PDEUIMessages.PluginsTabToolBar_auto_validate_bundles);
443+
fAutoValidate = createButton(parent, span - 2, indent,
444+
PDEUIMessages.PluginsTabToolBar_auto_validate_bundles);
441445
} else{
442-
fAutoValidate = createButton(parent, span - 1, indent,
446+
fAutoValidate = createButton(parent, span - 2, indent,
443447
NLS.bind(PDEUIMessages.PluginsTabToolBar_auto_validate,
444448
fTab.getName().replace("&", "").toLowerCase(Locale.ENGLISH))); //$NON-NLS-1$ //$NON-NLS-2$
445449
}
450+
Button fShowPlugin = new Button(parent, SWT.PUSH);
451+
fShowPlugin.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
452+
fShowPlugin.setText(PDEUIMessages.PluginsTabToolBar_show_launch_bundles);
453+
fShowPlugin.addSelectionListener(
454+
SelectionListener.widgetSelectedAdapter(e -> handleShowPluginsPressed(fLaunchConfig)));
446455

447456
fValidateButton = new Button(parent, SWT.PUSH);
448457
fValidateButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
@@ -460,6 +469,32 @@ public void createControl(Composite parent, int span, int indent) {
460469
fValidateButton.addSelectionListener(fListener);
461470
}
462471

472+
// Dialog to Show the launch bundles
473+
static void handleShowPluginsPressed(ILaunchConfiguration launchConfig) {
474+
Set<IPluginModelBase> models;
475+
try {
476+
models = BundleLauncherHelper.getMergedBundleMap(launchConfig, false).keySet();
477+
PluginSelectionDialog dialog = new PluginSelectionDialog(PDEPlugin.getActiveWorkbenchShell(),
478+
models.toArray(IPluginModelBase[]::new), true) {
479+
@Override
480+
protected void createButtonsForButtonBar(Composite parent) {
481+
createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CLOSE_LABEL, false);
482+
}
483+
484+
@Override
485+
protected void handleDoubleClick() {
486+
// disable super-class behavior
487+
}
488+
};
489+
// Overriding the super-class title
490+
dialog.setTitle(PDEUIMessages.LaunchPluginDialog_title);
491+
dialog.create();
492+
dialog.open();
493+
} catch (CoreException e) {
494+
PDEPlugin.log(e);
495+
}
496+
}
497+
463498
private Button createButton(Composite parent, int span, int indent, String text) {
464499
Button button = new Button(parent, SWT.CHECK);
465500
button.setText(text);

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/launcher/FeatureBlock.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -918,9 +918,11 @@ public boolean select(Viewer viewer, Object parentElement, Object element) {
918918
validatecomp.setLayoutData(gd);
919919

920920
if (fTab instanceof PluginsTab) {
921-
fAutoValidate = SWTFactory.createCheckButton(validatecomp, PDEUIMessages.PluginsTabToolBar_auto_validate_plugins, null, false, 1);
921+
fAutoValidate = SWTFactory.createCheckButton(validatecomp,
922+
PDEUIMessages.PluginsTabToolBar_auto_validate_plugins, null, false, 1);
922923
} else if (fTab instanceof BundlesTab) {
923-
fAutoValidate = SWTFactory.createCheckButton(validatecomp, PDEUIMessages.PluginsTabToolBar_auto_validate_bundles, null, false, 1);
924+
fAutoValidate = SWTFactory.createCheckButton(validatecomp,
925+
PDEUIMessages.PluginsTabToolBar_auto_validate_bundles, null, false, 1);
924926
} else {
925927
fAutoValidate = SWTFactory.createCheckButton(validatecomp,
926928
NLS.bind(PDEUIMessages.PluginsTabToolBar_auto_validate,
@@ -929,9 +931,15 @@ public boolean select(Viewer viewer, Object parentElement, Object element) {
929931
}
930932

931933
fAutoValidate.addSelectionListener(fListener);
932-
Composite rightAlignComp = SWTFactory.createComposite(validatecomp, 1, 1, SWT.NONE, 0, 0);
934+
Composite rightAlignComp = SWTFactory.createComposite(validatecomp, 2, 1, SWT.NONE, 0, 0);
933935
rightAlignComp.setLayoutData(new GridData(SWT.RIGHT, SWT.BOTTOM, true, true));
934936

937+
Button fShowPlugin = SWTFactory.createPushButton(rightAlignComp,
938+
PDEUIMessages.PluginsTabToolBar_show_launch_bundles, null);
939+
fShowPlugin.setLayoutData(new GridData(GridData.END, GridData.CENTER, false, false));
940+
fShowPlugin.addSelectionListener(SelectionListener
941+
.widgetSelectedAdapter(e -> AbstractPluginBlock.handleShowPluginsPressed(fLaunchConfig)));
942+
935943
if (fTab instanceof PluginsTab) {
936944
fValidateButton = SWTFactory.createPushButton(rightAlignComp, PDEUIMessages.PluginsTabToolBar_validate_plugins, null);
937945
} else if (fTab instanceof BundlesTab) {
@@ -942,6 +950,7 @@ public boolean select(Viewer viewer, Object parentElement, Object element) {
942950
}
943951

944952
fValidateButton.addSelectionListener(fListener);
953+
945954
}
946955

947956
public void dispose() {

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/pderesources.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1169,6 +1169,7 @@ ImportActionGroup_Repository_project=P&roject from a Repository...
11691169
####
11701170

11711171
PluginSelectionDialog_title = Plug-in Selection
1172+
LaunchPluginDialog_title = Launch Plug-ins List
11721173
PluginStructureCreator_name=Plug-in Structure Compare
11731174
PluginSelectionDialog_message = &Select a Plug-in:
11741175
PluginImportOperation_could_not_delete_project=Import operation could not delete the following project: {0}
@@ -1507,6 +1508,7 @@ PluginsView_manifestEditor=&PDE Manifest Editor
15071508
PluginsTabToolBar_validate=&Validate {0}
15081509
PluginsTabToolBar_validate_plugins=&Validate Plug-ins
15091510
PluginsTabToolBar_validate_bundles=&Validate Bundles
1511+
PluginsTabToolBar_show_launch_bundles=&Show launch bundles
15101512
PluginsTab_selectedPlugins=Plug-ins selected below
15111513
PluginContentPage_rcpGroup=Rich Client Application
15121514
PluginWorkingSet_emptyName=The name must not be empty

0 commit comments

Comments
 (0)