1 11 package org.eclipse.jdt.internal.ui.wizards; 12 13 import org.eclipse.core.resources.IFile; 14 import org.eclipse.core.resources.IResource; 15 16 import org.eclipse.jdt.core.IJavaElement; 17 18 import org.eclipse.core.runtime.CoreException; 19 import org.eclipse.core.runtime.IProgressMonitor; 20 21 import org.eclipse.jdt.ui.wizards.NewClassWizardPage; 22 23 import org.eclipse.jdt.internal.ui.JavaPlugin; 24 import org.eclipse.jdt.internal.ui.JavaPluginImages; 25 26 public class NewClassCreationWizard extends NewElementWizard { 27 28 private NewClassWizardPage fPage; 29 private boolean fOpenEditorOnFinish; 30 31 public NewClassCreationWizard(NewClassWizardPage page, boolean openEditorOnFinish) { 32 setDefaultPageImageDescriptor(JavaPluginImages.DESC_WIZBAN_NEWCLASS); 33 setDialogSettings(JavaPlugin.getDefault().getDialogSettings()); 34 setWindowTitle(NewWizardMessages.NewClassCreationWizard_title); 35 36 fPage= page; 37 fOpenEditorOnFinish= openEditorOnFinish; 38 } 39 40 public NewClassCreationWizard() { 41 this(null, true); 42 } 43 44 47 public void addPages() { 48 super.addPages(); 49 if (fPage == null) { 50 fPage= new NewClassWizardPage(); 51 fPage.init(getSelection()); 52 } 53 addPage(fPage); 54 } 55 56 59 protected boolean canRunForked() { 60 return !fPage.isEnclosingTypeSelected(); 61 } 62 63 66 protected void finishPage(IProgressMonitor monitor) throws InterruptedException , CoreException { 67 fPage.createType(monitor); } 69 70 73 public boolean performFinish() { 74 warnAboutTypeCommentDeprecation(); 75 boolean res= super.performFinish(); 76 if (res) { 77 IResource resource= fPage.getModifiedResource(); 78 if (resource != null) { 79 selectAndReveal(resource); 80 if (fOpenEditorOnFinish) { 81 openResource((IFile) resource); 82 } 83 } 84 } 85 return res; 86 } 87 88 91 public IJavaElement getCreatedElement() { 92 return fPage.getCreatedType(); 93 } 94 95 } 96 | Popular Tags |