Example usage for org.eclipse.jface.util SafeRunnable setRunner

List of usage examples for org.eclipse.jface.util SafeRunnable setRunner

Introduction

In this page you can find the example usage for org.eclipse.jface.util SafeRunnable setRunner.

Prototype

public static void setRunner(ISafeRunnableRunner runner) 

Source Link

Document

Sets the safe runnable runner.

Usage

From source file:org.eclipse.ui.internal.JFaceUtil.java

License:Open Source License

/**
 * Initializes JFace for use by Eclipse.
 *///  w w  w . java  2s.c o  m
public static void initializeJFace() {
    // Set the SafeRunner to run all SafeRunnables
    SafeRunnable.setRunner(new ISafeRunnableRunner() {
        public void run(ISafeRunnable code) {
            SafeRunner.run(code);
        }
    });

    // Pass all errors and warnings to the status handling facility
    // and the rest to the main runtime log
    Policy.setLog(new ILogger() {
        public void log(IStatus status) {
            if (status.getSeverity() == IStatus.WARNING || status.getSeverity() == IStatus.ERROR) {
                StatusManager.getManager().handle(status);
            } else {
                WorkbenchPlugin.log(status);
            }
        }
    });

    Policy.setStatusHandler(new StatusHandler() {
        public void show(IStatus status, String title) {
            StatusAdapter statusAdapter = new StatusAdapter(status);
            statusAdapter.setProperty(StatusAdapter.TITLE_PROPERTY, title);
            StatusManager.getManager().handle(statusAdapter, StatusManager.SHOW);
        }
    });

    // Get all debug options from Platform
    if ("true".equalsIgnoreCase(Platform.getDebugOption(Policy.JFACE + "/debug"))) { //$NON-NLS-1$ //$NON-NLS-2$
        Policy.DEBUG_DIALOG_NO_PARENT = "true" //$NON-NLS-1$
                .equalsIgnoreCase(Platform.getDebugOption(Policy.JFACE + "/debug/dialog/noparent")); //$NON-NLS-1$
        Policy.TRACE_ACTIONS = "true" //$NON-NLS-1$
                .equalsIgnoreCase(Platform.getDebugOption(Policy.JFACE + "/trace/actions")); //$NON-NLS-1$
        Policy.TRACE_TOOLBAR = "true" //$NON-NLS-1$
                .equalsIgnoreCase(Platform.getDebugOption(Policy.JFACE + "/trace/toolbarDisposal")); //$NON-NLS-1$
        InternalPolicy.DEBUG_LOG_REENTRANT_VIEWER_CALLS = "true".equalsIgnoreCase( //$NON-NLS-1$
                Platform.getDebugOption(Policy.JFACE + "/debug/viewers/reentrantViewerCalls")); //$NON-NLS-1$
        InternalPolicy.DEBUG_LOG_EQUAL_VIEWER_ELEMENTS = "true" //$NON-NLS-1$
                .equalsIgnoreCase(Platform.getDebugOption(Policy.JFACE + "/debug/viewers/equalElements")); //$NON-NLS-1$
    }
}

From source file:org.nightlabs.base.ui.app.AbstractApplication.java

License:Open Source License

/**
 * Initializes the Exception Handling by setting the DefaultUncaughtExceptionHandler
 * to the {@link ExceptionHandlerRegistry} and setting the Platform {@link SafeRunnable}
 * to {@link SaveRunnableRunner}.// ww  w .  j  av  a  2s  . co m
 * 
 * @see Thread#setDefaultUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler)
 */
public void initExceptionHandling() {
    ExceptionHandlerRegistry.sharedInstance()
            .addProcessListener(SimpleExceptionHandlerRegistry.sharedInstance());

    final Thread.UncaughtExceptionHandler oldDefaultExceptionHandler = Thread
            .getDefaultUncaughtExceptionHandler();
    Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
        public void uncaughtException(Thread t, Throwable e) {
            if (!ExceptionHandlerRegistry.syncHandleException(t, e)) {
                if (oldDefaultExceptionHandler != null) {
                    oldDefaultExceptionHandler.uncaughtException(t, e);
                }
            }
        }
    });
    SafeRunnable.setRunner(new SaveRunnableRunner());
}