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