package entitymodeler;
import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.PlatformUI;
import org.objectstyle.wolips.eomodeler.EOModelerPerspectiveFactory;
/**
* This class controls all aspects of the application's execution
*/
public class Application implements IApplication {
public void stop() {
// DO NOTHING
}
public Object start(IApplicationContext context) throws Exception {
EOModelerPerspectiveFactory.setLocked(true);
OpenDocumentEventProcessor openDocProcessor = new OpenDocumentEventProcessor();
Display display = PlatformUI.createDisplay();
display.addListener(SWT.OpenDocument, openDocProcessor);
try {
int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor(openDocProcessor));
if (returnCode == PlatformUI.RETURN_RESTART) {
return IApplication.EXIT_RESTART;
}
return IApplication.EXIT_OK;
}
finally {
display.dispose();
}
}
}