Package org.erlide.ui

Source Code of org.erlide.ui.UIMessageReporter

package org.erlide.ui;

import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.MultiStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.ui.progress.UIJob;
import org.eclipse.ui.statushandlers.StatusManager;
import org.erlide.util.ErlideMessage;

import com.google.common.eventbus.Subscribe;

public class UIMessageReporter {

    @Subscribe
    public void displayMessage(final ErlideMessage emsg) {
        try {
            new UIJob("erlide message") {
                @Override
                public IStatus runInUIThread(final IProgressMonitor monitor) {
                    final MultiStatus msg = new MultiStatus("org.erlide.ui", 0,
                            emsg.getMessage(), null);
                    if (emsg.getDetails() != null) {
                        msg.add(new Status(emsg.getSeverity(), "org.erlide.ui", emsg
                                .getDetails()));
                    }
                    StatusManager.getManager().handle(msg, StatusManager.BLOCK);

                    return Status.OK_STATUS;
                }
            }.schedule();
        } catch (final IllegalStateException e) {
        }
    }
}
TOP

Related Classes of org.erlide.ui.UIMessageReporter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.