Eclipse 3.x compatible;
[phpeclipse.git] / net.sourceforge.phpeclipse / src / com / xaraya / wizard / NewXarayaResourceWizard.java
1 package com.xaraya.wizard;
2
3 import org.eclipse.core.resources.IFile;
4 import org.eclipse.core.resources.IFolder;
5 import org.eclipse.jface.viewers.IStructuredSelection;
6 import org.eclipse.ui.IWorkbench;
7 import org.eclipse.ui.IWorkbenchPage;
8 import org.eclipse.ui.IWorkbenchWindow;
9 import org.eclipse.ui.ide.IDE;
10 import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
11
12 public class NewXarayaResourceWizard extends BasicNewResourceWizard {
13
14   private XarayaModuleContainerPage mainPage; //get where to place resource and module name
15   private XarayaModuleFilePage page1; //get first load of details author/email/which files
16
17   private XarayaVersionModel xvm = new XarayaVersionModel(); //holder for details
18
19   public NewXarayaResourceWizard() {
20     super();
21     //initialize static classes that are required..
22     new XarayaModuleText();
23     new XarayaModuleMessages();
24   }
25
26   public void addPages() {
27     super.addPages();
28     mainPage = new XarayaModuleContainerPage(XarayaModuleMessages.getString("Xaraya.label.container"), getSelection());
29     addPage(mainPage);
30     page1 = new XarayaModuleFilePage(XarayaModuleMessages.getString("Xaraya.label.container"));
31     addPage(page1);
32   }
33
34   public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
35     super.init(workbench, currentSelection);
36     setWindowTitle(XarayaModuleMessages.getString("Xaraya.label.container"));
37     setNeedsProgressMonitor(true);
38   }
39
40   public boolean performFinish() {
41     page1.saveDataToModel();
42     IFolder folder = mainPage.createNewModuleFolder(); //create the folder for the module
43     if (folder == null)
44       return false;
45
46     Object[] files = mainPage.createNewModuleFiles(); //create the files
47
48     selectAndReveal(folder);
49
50     // Open editor on new xaraya init file.
51     IWorkbenchWindow dw = getWorkbench().getActiveWorkbenchWindow();
52     try {
53       IWorkbenchPage page = dw.getActivePage();
54       if (page != null)
55         IDE.openEditor(page, (IFile) files[0], true);
56     } catch (Exception e) {
57     }
58
59     return true;
60   }
61
62 }