/** * Copyright (C) Intersect 2012. * * This module contains Proprietary Information of Intersect, * and should be treated as Confidential. */ package au.org.intersect.exsite9.commands.handlers; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.commands.IHandler; import org.eclipse.core.commands.IHandlerListener; import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.handlers.HandlerUtil; import au.org.intersect.exsite9.domain.Project; import au.org.intersect.exsite9.service.IProjectManager; import au.org.intersect.exsite9.wizard.newproject.NewProjectWizard; /** * Handles the New Project action. */ public final class NewProjectHandler implements IHandler { /** * @{inheritDoc} */ @Override public void addHandlerListener(final IHandlerListener handlerListener) { } /** * @{inheritDoc} */ @Override public void dispose() { } /** * @{inheritDoc} */ @Override public Object execute(final ExecutionEvent event) throws ExecutionException { final IWorkbenchWindow activeWorkbenchWindow = HandlerUtil.getActiveWorkbenchWindow(event); final Shell shell = activeWorkbenchWindow.getShell(); final NewProjectWizard wizard = new NewProjectWizard(); final WizardDialog wizardDialog = new WizardDialog(shell, wizard); wizardDialog.open(); final Project newProject = wizard.getNewProject(); final IProjectManager projectManager = (IProjectManager) PlatformUI.getWorkbench().getService(IProjectManager.class); if (newProject != null) { projectManager.setCurrentProjectID(newProject.getId()); HandlerUtils.activateShowProjectActivity(activeWorkbenchWindow); shell.setText("ExSite9 - " + newProject.getName()); } return newProject; } /** * @{inheritDoc} */ @Override public boolean isEnabled() { return true; } /** * @{inheritDoc} */ @Override public boolean isHandled() { return true; } /** * @{inheritDoc} */ @Override public void removeHandlerListener(final IHandlerListener handlerListener) { } }