下面列出了怎么用org.eclipse.ui.statushandlers.StatusAdapter的API类实例代码及写法,或者点击链接到github查看源代码。
@SuppressWarnings("unchecked")
@Override
public Control createSupportArea(final Composite parent, final StatusAdapter statusAdapter) {
final IStatus status = statusAdapter.getStatus();
if (status instanceof BinaryStatus) {
final Binary binary = ((BinaryStatus) status).getBinary();
final Composite control = new Composite(parent, SWT.NONE);
control.setLayout(GridLayoutFactory.swtDefaults().margins(10, 10).create());
control.setLayoutData(new GridData(FILL, FILL, true, true));
return createCustomAreaWithLink(control, manager.getDialog(), binary);
}
return new DefaultDetailsArea(manager.getDialogState()).createSupportArea(parent, statusAdapter);
}
/**
* Method getWorkbenchErrorHandler()
* @see org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor#getWorkbenchErrorHandler()
*/
@Override
public synchronized AbstractStatusHandler getWorkbenchErrorHandler() {
return new AbstractStatusHandler() {
@Override
public void handle(final StatusAdapter statusAdapter, final int style) {
final int severity = statusAdapter.getStatus().getSeverity();
if ( severity == IStatus.INFO || severity == IStatus.CANCEL ) { return; }
final Throwable e = statusAdapter.getStatus().getException();
if ( e instanceof OutOfMemoryError ) {
GamaExecutorService.EXCEPTION_HANDLER.uncaughtException(Thread.currentThread(), e);
}
final String message = statusAdapter.getStatus().getMessage();
// Stupid Eclipse
if ( !message.contains("File toolbar contribution item") &&
!message.contains("Duplicate template id") ) {
DEBUG.OUT("GAMA Caught a workbench message : " + message);
}
if ( e != null ) {
e.printStackTrace();
}
}
};
}
@Override
public void handle(StatusAdapter statusAdapter, int style) {
if (style == StatusManager.SHOW) {
String message = statusAdapter.getStatus().getMessage();
if (message != null && message.contains("Server Tomcat")) {
return;
}else {
super.handle(statusAdapter, style);
}
} else {
super.handle(statusAdapter, style);
}
}
@Override
public void handle(final StatusAdapter statusAdapter, final int style) {
delegate.handle(statusAdapter, style);
}