madcow.magic.ui.MagicApplication.java Source code

Java tutorial

Introduction

Here is the source code for madcow.magic.ui.MagicApplication.java

Source

/*******************************************************************************
 * Copyright (c) 2001-2011 Mad Cow Entertainment and Corporation
 * 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:
 *    bel Hegeds - initial API and implementation
 *******************************************************************************/
package madcow.magic.ui;

import madcow.magic.ui.application.MagicApplicationGUI;

import org.eclipse.core.databinding.observable.Realm;
import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.PlatformUI;

/**
 * 
 * @author bel Hegeds
 *
 */
public class MagicApplication implements IApplication {

    @Override
    public Object start(IApplicationContext context) throws Exception {
        Display display = PlatformUI.createDisplay();
        Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
            public void run() {
                try {
                    MagicApplicationGUI window = new MagicApplicationGUI();
                    window.open();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
        return 0;

    }

    /* (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;
     else
        return IApplication.EXIT_OK;
       } finally {
     display.dispose();
       }
           
    }*/

    /* (non-Javadoc)
     * @see org.eclipse.equinox.app.IApplication#stop()
     */
    public void stop() {
        if (!PlatformUI.isWorkbenchRunning())
            return;
        final IWorkbench workbench = PlatformUI.getWorkbench();
        final Display display = workbench.getDisplay();
        display.syncExec(new Runnable() {
            public void run() {
                if (!display.isDisposed())
                    workbench.close();
            }
        });
    }
}