/*******************************************************************************
* Copyright (C) 2008, 2013, Guillaume Brocker
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Guillaume Brocker - Initial API and implementation
*
******************************************************************************/
package eclox.ui;
import org.eclipse.core.runtime.jobs.IJobChangeEvent;
import org.eclipse.core.runtime.jobs.JobChangeAdapter;
import org.eclipse.swt.widgets.Display;
import eclox.core.doxygen.BuildJob;
/**
* @brief Monitors all doxygen build jobs and report errors
* concerning doxygen invokation failures.
*
* @author gbrocker
*/
public class JobMonitor extends JobChangeAdapter {
/**
* @see org.eclipse.core.runtime.jobs.JobChangeAdapter#done(org.eclipse.core.runtime.jobs.IJobChangeEvent)
*/
public void done(IJobChangeEvent event) {
if( event.getJob().belongsTo(BuildJob.FAMILY) && event.getResult().getCode() == BuildJob.ERROR_DOXYGEN_NOT_FOUND ) {
Display display = Plugin.getDefault().getWorkbench().getDisplay();
display.asyncExec(
new Runnable()
{
public void run()
{
Plugin.editPreferencesAfterDoxygenInvocationFailed();
}
}
);
}
}
}