View Javadoc
1   package io.github.magwas.inez.ui;
2   
3   import org.eclipse.e4.core.di.IInjector;
4   import org.eclipse.e4.core.di.InjectorFactory;
5   import org.eclipse.equinox.app.IApplication;
6   import org.eclipse.equinox.app.IApplicationContext;
7   import org.eclipse.swt.widgets.Display;
8   import org.eclipse.ui.PlatformUI;
9   
10  import io.github.magwas.inez.ui.tree.ModelTreeContentProvider;
11  import io.github.magwas.inez.ui.tree.ModelTreeLabelProvider;
12  import io.github.magwas.inez.ui.tree.NewDiagramAction;
13  
14  public class Application implements IApplication {
15  
16  	@Override
17  	public Object start(IApplicationContext context) {
18  		System.err.println("appStart");
19  		IInjector injector = InjectorFactory.getDefault();
20  		injector.addBinding(ModelTreeContentProvider.class);
21  		injector.addBinding(ModelTreeLabelProvider.class);
22  		injector.addBinding(NewDiagramAction.class);
23  		Display display = PlatformUI.createDisplay();
24  		try {
25  			int returnCode = PlatformUI.createAndRunWorkbench(display,
26  					new ApplicationWorkbenchAdvisor());
27  			if (returnCode == PlatformUI.RETURN_RESTART) {
28  				return EXIT_RESTART;
29  			}
30  			return EXIT_OK;
31  		} finally {
32  			display.dispose();
33  		}
34  	}
35  
36  	@Override
37  	public void stop() {
38  		System.err.println("appStop");
39  	}
40  }