Statistiques
| Révision :

root / tmp / org.txm.backtomedia.rcp / src / vlcplayerrcp / Application.java @ 3097

Historique | Voir | Annoter | Télécharger (1,31 ko)

1 456 mdecorde
package vlcplayerrcp;
2 456 mdecorde
3 456 mdecorde
import org.eclipse.equinox.app.IApplication;
4 456 mdecorde
import org.eclipse.equinox.app.IApplicationContext;
5 456 mdecorde
import org.eclipse.swt.widgets.Display;
6 456 mdecorde
import org.eclipse.ui.IWorkbench;
7 456 mdecorde
import org.eclipse.ui.PlatformUI;
8 456 mdecorde
9 456 mdecorde
/**
10 456 mdecorde
 * This class controls all aspects of the application's execution
11 456 mdecorde
 */
12 456 mdecorde
public class Application implements IApplication {
13 456 mdecorde
14 456 mdecorde
        public static String PLUGIN_ID = "org.txm.backtomedia"; //$NON-NLS-1$
15 2421 mdecorde
16 2421 mdecorde
        /*
17 2421 mdecorde
         * (non-Javadoc)
18 456 mdecorde
         * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
19 456 mdecorde
         */
20 456 mdecorde
        public Object start(IApplicationContext context) throws Exception {
21 456 mdecorde
                Display display = PlatformUI.createDisplay();
22 456 mdecorde
                try {
23 456 mdecorde
                        int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
24 456 mdecorde
                        if (returnCode == PlatformUI.RETURN_RESTART)
25 456 mdecorde
                                return IApplication.EXIT_RESTART;
26 456 mdecorde
                        else
27 456 mdecorde
                                return IApplication.EXIT_OK;
28 2421 mdecorde
                }
29 2421 mdecorde
                finally {
30 456 mdecorde
                        display.dispose();
31 456 mdecorde
                }
32 456 mdecorde
        }
33 2421 mdecorde
34 2421 mdecorde
        /*
35 2421 mdecorde
         * (non-Javadoc)
36 456 mdecorde
         * @see org.eclipse.equinox.app.IApplication#stop()
37 456 mdecorde
         */
38 456 mdecorde
        public void stop() {
39 456 mdecorde
                if (!PlatformUI.isWorkbenchRunning())
40 456 mdecorde
                        return;
41 456 mdecorde
                final IWorkbench workbench = PlatformUI.getWorkbench();
42 456 mdecorde
                final Display display = workbench.getDisplay();
43 456 mdecorde
                display.syncExec(new Runnable() {
44 2421 mdecorde
45 456 mdecorde
                        public void run() {
46 456 mdecorde
                                if (!display.isDisposed())
47 456 mdecorde
                                        workbench.close();
48 456 mdecorde
                        }
49 456 mdecorde
                });
50 456 mdecorde
        }
51 456 mdecorde
}