package com.javafun.timetracking.ui;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.rwt.RWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.application.IWorkbenchConfigurer;
import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
import org.eclipse.ui.application.WorkbenchAdvisor;
import org.eclipse.ui.application.WorkbenchWindowAdvisor;
/**
* This workbench advisor creates the window advisor, and specifies the
* perspective id for the initial window.
*/
public class SettingsWorkbenchAdvisor extends WorkbenchAdvisor {
private static final String PERSPECTIVE_ID = "com.javafun.core.perspective.settings";
public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(final IWorkbenchWindowConfigurer configurer) {
return new SettingsWorkbenchWindowAdvisor(configurer);
}
public String getInitialWindowPerspectiveId() {
return PERSPECTIVE_ID;
}
@Override
public void initialize(final IWorkbenchConfigurer configurer) {
super.initialize(configurer);
configurer.setSaveAndRestore(true);
}
@Override
public boolean preShutdown() {
final Display display = Display.getCurrent();
return MessageDialog.openQuestion(display.getActiveShell(), "Exit", "Are you sure you want to exit the application?");
}
@Override
public void postShutdown() {
super.postShutdown();
UiUtils.shutDownApp(Display.getCurrent(), RWT.getSessionStore().getHttpSession());
}
}