Skip to content

Commit 23ec76f

Browse files
committed
[#1417] Plug-in editor: Runtime tab should show selected package
The simplest solution would be to use the section description
1 parent 512b94b commit 23ec76f

3 files changed

Lines changed: 36 additions & 1 deletion

File tree

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2249,6 +2249,10 @@ public class PDEUIMessages extends NLS {
22492249

22502250
public static String ExportPackageVisibilitySection_default;
22512251

2252+
public static String ExportPackageVisibilitySection_one;
2253+
2254+
public static String ExportPackageVisibilitySection_many;
2255+
22522256
public static String ExportPackageVisibilitySection_hideAll;
22532257

22542258
public static String ExportPackageSection_add;

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExportPackageVisibilitySection.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@
1919
import static org.eclipse.swt.events.SelectionListener.widgetSelectedAdapter;
2020

2121
import java.util.ArrayList;
22+
import java.util.Arrays;
23+
import java.util.Collections;
2224
import java.util.List;
25+
import java.util.Objects;
26+
import java.util.stream.Collectors;
2327

2428
import org.eclipse.jface.action.Action;
2529
import org.eclipse.jface.action.IMenuManager;
@@ -31,6 +35,7 @@
3135
import org.eclipse.jface.viewers.StructuredSelection;
3236
import org.eclipse.jface.viewers.TableViewer;
3337
import org.eclipse.jface.window.Window;
38+
import org.eclipse.osgi.util.NLS;
3439
import org.eclipse.pde.core.IBaseModel;
3540
import org.eclipse.pde.core.IModelChangedEvent;
3641
import org.eclipse.pde.core.plugin.IPluginModelBase;
@@ -378,6 +383,30 @@ private void update(ExportPackageObject[] objects) {
378383
getTablePart().setButtonEnabled(1, fInternalButton.getSelection() && isEditable());
379384
fFriendViewer.setInput(object);
380385
fBlockChanges = false;
386+
getSection().setDescription(description(objects));
387+
}
388+
389+
private String description(ExportPackageObject[] packages) {
390+
List<String> names = names(packages);
391+
switch (names.size()) {
392+
case 0: {
393+
return PDEUIMessages.ExportPackageVisibilitySection_default;
394+
}
395+
case 1: {
396+
return NLS.bind(PDEUIMessages.ExportPackageVisibilitySection_one, names.get(0));
397+
}
398+
default:
399+
return NLS.bind(PDEUIMessages.ExportPackageVisibilitySection_many,
400+
names.stream().collect(Collectors.joining(", "))); //$NON-NLS-1$
401+
}
402+
403+
}
404+
405+
private List<String> names(ExportPackageObject[] packages) {
406+
if (packages == null) {
407+
return Collections.emptyList();
408+
}
409+
return Arrays.stream(packages).filter(Objects::nonNull).map(ExportPackageObject::getName).toList();
381410
}
382411

383412
private BundleInputContext getBundleContext() {

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2249,7 +2249,9 @@ ExportPackageSection_findReferences=Find References
22492249
ExportOptionsTab_antReservedMessage=build.xml is a file name reserved for PDE
22502250
ExportOptionsTab_allowBinaryCycles=A&llow for binary cycles in target platform
22512251
ExportOptionsTab_use_workspace_classfiles=&Use class files compiled in the workspace
2252-
ExportPackageVisibilitySection_default=The select package is:
2252+
ExportPackageVisibilitySection_default=The selected package is:
2253+
ExportPackageVisibilitySection_one=The selected package {0} is:
2254+
ExportPackageVisibilitySection_many=The selected packages {0} are:
22532255
ExportPackageVisibilitySection_hideAll=provisional API, generating warnings, except for:
22542256
CrossPlatformExportPage_available=&Available platforms:
22552257
CrossPlatformExportPage_title=Cross-platform export

0 commit comments

Comments
 (0)