Project: Archimedes
/**
 * Copyright (c) 2007, 2009 Hugo Corbucci and others.<br> 
 * 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<br> 
 * <br> 
 * Contributors:<br> 
 * Hugo Corbucci - initial API and implementation<br> 
 * <br> 
 * This file was created on 2007/01/19, 00:03:02, by Hugo Corbucci.<br> 
 * It is part of package br.org.archimedes.gui.rca on the br.org.archimedes.core project.<br> 
 */
package br.org.archimedes.gui.rca; 
 
import org.eclipse.equinox.app.IApplication; 
import org.eclipse.equinox.app.IApplicationContext; 
import org.eclipse.swt.widgets.Display; 
import org.eclipse.ui.PlatformUI; 
 
/**
 * This class controls all aspects of the application's execution 
 */
 
public class Archimedes implements IApplication { 
 
    /*
     * (non-Javadoc) 
     *  
     * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext) 
     */
 
    public Object start (IApplicationContext context) throws Exception { 
 
        Display display = PlatformUI.createDisplay(); 
        try { 
            int returnCode = PlatformUI.createAndRunWorkbench(display, 
                    new ApplicationWorkbenchAdvisor()); 
            if (returnCode == PlatformUI.RETURN_RESTART) { 
                return IApplication.EXIT_RESTART; 
            } 
            return IApplication.EXIT_OK; 
        } 
        finally { 
            display.dispose(); 
        } 
    } 
 
    /*
     * (non-Javadoc) 
     *  
     * @see org.eclipse.equinox.app.IApplication#stop() 
     */
 
    public void stop () { 
         
    } 
}