Skip to content

Commit cc39b5b

Browse files
committed
Added a button to show launch bundles
1 parent 09b7f61 commit cc39b5b

4 files changed

Lines changed: 55 additions & 6 deletions

File tree

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
@@ -1523,6 +1523,7 @@ public class PDEUIMessages extends NLS {
15231523
public static String TemplateSelectionPage_column_point;
15241524

15251525
public static String PluginSelectionDialog_title;
1526+
public static String LaunchPluginDialog_title;
15261527
public static String PluginSelectionDialog_message;
15271528

15281529
public static String PluginImportOperation_could_not_delete_project;
@@ -2476,6 +2477,8 @@ public class PDEUIMessages extends NLS {
24762477

24772478
public static String AbstractPluginBlock_counter;
24782479

2480+
public static String PluginsTabToolBar_show_launch_bundles;
2481+
24792482
public static String AbstractRepository_ErrorLoadingImageFromJar;
24802483

24812484
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
@@ -1168,6 +1168,7 @@ ImportActionGroup_Repository_project=P&roject from a Repository...
11681168
####
11691169

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

0 commit comments

Comments
 (0)