*** empty log message ***
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/launcher/EquinoxPluginBlock.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/launcher/EquinoxPluginBlock.java
index 46af727..fe2efd6 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/launcher/EquinoxPluginBlock.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/launcher/EquinoxPluginBlock.java
@@ -22,6 +22,7 @@
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.pde.core.plugin.IPluginModelBase;
import org.eclipse.pde.internal.ui.PDELabelProvider;
+import org.eclipse.pde.internal.ui.elements.NamedElement;
import org.eclipse.pde.ui.launcher.EquinoxPluginsTab;
import org.eclipse.pde.ui.launcher.IPDELauncherConstants;
import org.eclipse.swt.SWT;
@@ -118,11 +119,13 @@
spinner.setSelection(level);
spinner.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
- int selection = spinner.getSelection();
- item.setText(1, defaultLevel == selection
- ? "default"
- : Integer.toString(selection));
- fTab.updateLaunchConfigurationDialog();
+ if (item.getChecked()) {
+ int selection = spinner.getSelection();
+ item.setText(1, defaultLevel == selection
+ ? "default"
+ : Integer.toString(selection));
+ fTab.updateLaunchConfigurationDialog();
+ }
}
});
editor1.setEditor(spinner, item, 1);
@@ -133,8 +136,10 @@
combo.pack();
combo.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
- item.setText(2, combo.getText());
- fTab.updateLaunchConfigurationDialog();
+ if (item.getChecked()) {
+ item.setText(2, combo.getText());
+ fTab.updateLaunchConfigurationDialog();
+ }
}
});
editor2.setEditor(combo, item, 2);
@@ -239,11 +244,25 @@
}
}
}
+
+ resetGroup(fExternalPlugins);
fPluginTreeViewer.setChecked(fExternalPlugins, fNumExternalChecked > 0);
fPluginTreeViewer.setGrayed(fExternalPlugins, fNumExternalChecked > 0
&& fNumExternalChecked < fExternalModels.length);
}
+ private void resetGroup(NamedElement group) {
+ Widget widget = fPluginTreeViewer.testFindItem(group);
+ if (widget instanceof TreeItem) {
+ TreeItem[] items = ((TreeItem)widget).getItems();
+ for (int i = 0; i < items.length; i++) {
+ if (!items[i].getChecked()) {
+ resetText(items[i]);
+ }
+ }
+ }
+ }
+
private void initWorkspacePluginsState(ILaunchConfiguration configuration)
throws CoreException {
fNumWorkspaceChecked = 0;
@@ -269,6 +288,8 @@
}
}
}
+
+ resetGroup(fWorkspacePlugins);
fPluginTreeViewer.setChecked(fWorkspacePlugins, fNumWorkspaceChecked > 0);
fPluginTreeViewer.setGrayed(
@@ -284,7 +305,7 @@
for (int i = 0; i < items.length; i++) {
resetText(items[i]);
}
- }
+ }
}
protected void handleCheckStateChanged(CheckStateChangedEvent event) {