1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-07 09:46:02 +02:00

-fixed updates of scope & launch mode for multiple problems

This commit is contained in:
Alena Laskavaia 2011-03-08 01:54:44 +00:00
parent 42d13c4bd1
commit 4c2ba3b3f0
6 changed files with 23 additions and 12 deletions

View file

@ -40,6 +40,7 @@ public class CodanUIMessages extends NLS {
public static String CustomizeProblemDialog_Message; public static String CustomizeProblemDialog_Message;
public static String CustomizeProblemDialog_Title; public static String CustomizeProblemDialog_Title;
public static String Job_TitleRunningAnalysis; public static String Job_TitleRunningAnalysis;
public static String ParametersComposite_DoNotChange;
public static String ParametersComposite_IsEnabled; public static String ParametersComposite_IsEnabled;
public static String ParametersComposite_MessagePattern; public static String ParametersComposite_MessagePattern;
public static String ParametersComposite_NewValue; public static String ParametersComposite_NewValue;

View file

@ -53,14 +53,23 @@ public class CustomizeProblemDialog extends TitleAreaDialog {
* @return * @return
*/ */
private IProblem buildCombined(IProblem[] selectedProblems) { private IProblem buildCombined(IProblem[] selectedProblems) {
if (selectedProblems.length == 0)
return null;
IProblem one = selectedProblems[0];
if (selectedProblems.length == 1) { if (selectedProblems.length == 1) {
return selectedProblems[0]; return one;
} }
CodanProblem problem = new CodanProblem("multi", getTitle()); CodanProblem problem = new CodanProblem("multi", getTitle()); //$NON-NLS-1$
problem.setMessagePattern(ParametersComposite.NO_CHANGE); problem.setMessagePattern(ParametersComposite.NO_CHANGE);
problem.setPreference(new RootProblemPreference()); problem.setPreference(new RootProblemPreference());
problem.setSeverity(selectedProblems[0].getSeverity()); problem.setSeverity(one.getSeverity());
problem.setEnabled(selectedProblems[0].isEnabled()); problem.setEnabled(one.isEnabled());
if (one.getPreference() instanceof RootProblemPreference) {
RootProblemPreference onepref = (RootProblemPreference) one.getPreference();
RootProblemPreference pref = (RootProblemPreference) problem.getPreference();
pref.addChildDescriptor(onepref.getLaunchModePreference());
pref.addChildDescriptor(onepref.getScopePreference());
}
return problem; return problem;
} }

View file

@ -24,6 +24,7 @@ CustomizeProblemComposite_TabScope=Scope
CustomizeProblemDialog_Message=Edit problem preferences, scope and launch options CustomizeProblemDialog_Message=Edit problem preferences, scope and launch options
CustomizeProblemDialog_Title=Customize Problem... CustomizeProblemDialog_Title=Customize Problem...
Job_TitleRunningAnalysis=Running Code Analysis Job_TitleRunningAnalysis=Running Code Analysis
ParametersComposite_DoNotChange=<do not change>
ParametersComposite_IsEnabled=This problem is enabled ParametersComposite_IsEnabled=This problem is enabled
ParametersComposite_MessagePattern=Message Pattern ParametersComposite_MessagePattern=Message Pattern
ParametersComposite_NewValue=New Value ParametersComposite_NewValue=New Value

View file

@ -71,14 +71,14 @@ public class FileScopeComposite extends Composite {
public void save(IProblemWorkingCopy problem) { public void save(IProblemWorkingCopy problem) {
if (page != null) if (page != null)
page.performOk(); page.performOk();
savePrefStore(); savePrefStore(problem);
} }
private void savePrefStore() { private void savePrefStore(IProblemWorkingCopy problem) {
if (scope == null) if (scope == null)
return; return;
String key = scope.getQualifiedKey(); String key = scope.getQualifiedKey();
((MapProblemPreference) problem.getPreference()).setChildValue(FileScopeProblemPreference.KEY, scope); ((MapProblemPreference) problem.getPreference()).addChildDescriptor(scope);
prefStore.setValue(key, scope.exportValue()); prefStore.setValue(key, scope.exportValue());
} }

View file

@ -66,18 +66,18 @@ public class LaunchingTabComposite extends Composite {
page.getControl().setLayoutData(new GridData(GridData.FILL_BOTH)); page.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
} }
public void save(@SuppressWarnings("unused") IProblemWorkingCopy problem) { public void save(IProblemWorkingCopy problem) {
if (page != null) if (page != null)
page.performOk(); page.performOk();
savePrefStore(); savePrefStore(problem);
} }
private void savePrefStore() { private void savePrefStore(IProblemWorkingCopy problem) {
if (launchPref == null) if (launchPref == null)
return; return;
saveToPref(launchPref, page.getPreferenceStore()); saveToPref(launchPref, page.getPreferenceStore());
MapProblemPreference parentMap = (MapProblemPreference) problem.getPreference(); MapProblemPreference parentMap = (MapProblemPreference) problem.getPreference();
parentMap.addChildDescriptor(launchPref); parentMap.addChildDescriptor((IProblemPreference) launchPref.clone());
} }
/** /**

View file

@ -45,7 +45,7 @@ public class ParametersComposite extends Composite {
private static final String PREF_ENABLED = "enabled"; //$NON-NLS-1$ private static final String PREF_ENABLED = "enabled"; //$NON-NLS-1$
private static final String PREF_SEVERITY = "severity"; //$NON-NLS-1$ private static final String PREF_SEVERITY = "severity"; //$NON-NLS-1$
private static final String PREF_MESSAGE = "message"; //$NON-NLS-1$ private static final String PREF_MESSAGE = "message"; //$NON-NLS-1$
public static final String NO_CHANGE = "<do not change>"; public static final String NO_CHANGE = CodanUIMessages.ParametersComposite_DoNotChange;
private FieldEditorPreferencePage page; private FieldEditorPreferencePage page;
private IProblem problem; private IProblem problem;
private PreferenceStore prefStore; private PreferenceStore prefStore;