1 /*******************************************************************************
2 * Copyright (c) 2000, 2011 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
9 * IBM Corporation - initial API and implementation
10 *******************************************************************************/
11 package org.eclipse.jdt.internal.ui.wizards;
13 import org.eclipse.core.runtime.CoreException;
14 import org.eclipse.core.runtime.IProgressMonitor;
16 import org.eclipse.core.resources.IFile;
17 import org.eclipse.core.resources.IResource;
19 import org.eclipse.jdt.core.IJavaElement;
21 import org.eclipse.jdt.ui.wizards.NewAnnotationWizardPage;
23 import org.eclipse.jdt.internal.ui.JavaPlugin;
24 import org.eclipse.jdt.internal.ui.JavaPluginImages;
26 public class NewAnnotationCreationWizard extends NewElementWizard {
28 private NewAnnotationWizardPage fPage;
29 private boolean fOpenEditorOnFinish;
31 public NewAnnotationCreationWizard(NewAnnotationWizardPage page, boolean openEditorOnFinish) {
32 setDefaultPageImageDescriptor(JavaPluginImages.DESC_WIZBAN_NEWANNOT);
33 setDialogSettings(JavaPlugin.getDefault().getDialogSettings());
34 setWindowTitle(NewWizardMessages.NewAnnotationCreationWizard_title);
37 fOpenEditorOnFinish= openEditorOnFinish;
40 public NewAnnotationCreationWizard() {
45 * @see Wizard#addPages
48 public void addPages() {
51 fPage= new NewAnnotationWizardPage();
52 fPage.init(getSelection());
59 * @see org.eclipse.jdt.internal.ui.wizards.NewElementWizard#canRunForked()
62 protected boolean canRunForked() {
63 return !fPage.isEnclosingTypeSelected();
67 * @see org.eclipse.jdt.internal.ui.wizards.NewElementWizard#finishPage(org.eclipse.core.runtime.IProgressMonitor)
70 protected void finishPage(IProgressMonitor monitor) throws InterruptedException, CoreException {
71 fPage.createType(monitor); // use the full progress monitor
75 * @see org.eclipse.jface.wizard.IWizard#performFinish()
78 public boolean performFinish() {
79 warnAboutTypeCommentDeprecation();
80 boolean res= super.performFinish();
82 IResource resource= fPage.getModifiedResource();
83 if (resource != null) {
84 selectAndReveal(resource);
85 if (fOpenEditorOnFinish) {
86 openResource((IFile) resource);
94 * @see org.eclipse.jdt.internal.ui.wizards.NewElementWizard#getCreatedElement()
97 public IJavaElement getCreatedElement() {
98 return fPage.getCreatedType();