mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 14:42:11 +02:00
Pull in from jdt
This commit is contained in:
parent
b0b0574436
commit
c287f57cc2
1 changed files with 75 additions and 0 deletions
|
@ -0,0 +1,75 @@
|
||||||
|
/*
|
||||||
|
* (c) Copyright IBM Corp. 2000, 2001.
|
||||||
|
* All Rights Reserved.
|
||||||
|
*/
|
||||||
|
package org.eclipse.cdt.internal.ui.dialogs;
|
||||||
|
|
||||||
|
import org.eclipse.core.runtime.IStatus;
|
||||||
|
|
||||||
|
import org.eclipse.jface.dialogs.DialogPage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A utility class to work with IStatus.
|
||||||
|
*/
|
||||||
|
public class StatusUtil {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compares two instances of <code>IStatus</code>. The more severe is returned:
|
||||||
|
* An error is more severe than a warning, and a warning is more severe
|
||||||
|
* than ok. If the two stati have the same severity, the second is returned.
|
||||||
|
*/
|
||||||
|
public static IStatus getMoreSevere(IStatus s1, IStatus s2) {
|
||||||
|
if (s1.getSeverity() > s2.getSeverity()) {
|
||||||
|
return s1;
|
||||||
|
} else {
|
||||||
|
return s2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Finds the most severe status from a array of stati.
|
||||||
|
* An error is more severe than a warning, and a warning is more severe
|
||||||
|
* than ok.
|
||||||
|
*/
|
||||||
|
public static IStatus getMostSevere(IStatus[] status) {
|
||||||
|
IStatus max= null;
|
||||||
|
for (int i= 0; i < status.length; i++) {
|
||||||
|
IStatus curr= status[i];
|
||||||
|
if (curr.matches(IStatus.ERROR)) {
|
||||||
|
return curr;
|
||||||
|
}
|
||||||
|
if (max == null || curr.getSeverity() > max.getSeverity()) {
|
||||||
|
max= curr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return max;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Applies the status to the status line of a dialog page.
|
||||||
|
*/
|
||||||
|
public static void applyToStatusLine(DialogPage page, IStatus status) {
|
||||||
|
String message= status.getMessage();
|
||||||
|
switch (status.getSeverity()) {
|
||||||
|
case IStatus.OK:
|
||||||
|
page.setMessage(message, DialogPage.NONE);
|
||||||
|
page.setErrorMessage(null);
|
||||||
|
break;
|
||||||
|
case IStatus.WARNING:
|
||||||
|
page.setMessage(message, DialogPage.WARNING);
|
||||||
|
page.setErrorMessage(null);
|
||||||
|
break;
|
||||||
|
case IStatus.INFO:
|
||||||
|
page.setMessage(message, DialogPage.INFORMATION);
|
||||||
|
page.setErrorMessage(null);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (message.length() == 0) {
|
||||||
|
message= null;
|
||||||
|
}
|
||||||
|
page.setMessage(null);
|
||||||
|
page.setErrorMessage(message);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue