Fix bugs #725 and releted #744
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / PHPPerspectiveFactory.java
1 package net.sourceforge.phpeclipse;
2
3 import net.sourceforge.phpeclipse.webbrowser.views.BrowserView;
4
5 import org.eclipse.debug.ui.IDebugUIConstants;
6 import org.eclipse.search.ui.NewSearchUI;
7 import org.eclipse.ui.IFolderLayout;
8 import org.eclipse.ui.IPageLayout;
9 import org.eclipse.ui.IPerspectiveFactory;
10 import org.eclipse.ui.console.IConsoleConstants;
11
12 public class PHPPerspectiveFactory implements IPerspectiveFactory {
13         public static final String ID_PROGRESS_VIEW = "org.eclipse.ui.views.ProgressView"; //$NON-NLS-1$
14
15         // see bug 63563
16
17         public PHPPerspectiveFactory() {
18                 super();
19         }
20
21         public void createInitialLayout(IPageLayout layout) {
22                 String editorArea = layout.getEditorArea();
23                 IFolderLayout folder = layout.createFolder("left", IPageLayout.LEFT,
24                                 (float) 0.25, editorArea); //$NON-NLS-1$
25                 folder.addView(IPageLayout.ID_RES_NAV);
26                 IFolderLayout outputfolder = layout.createFolder("bottom",
27                                 IPageLayout.BOTTOM, (float) 0.75, editorArea); //$NON-NLS-1$
28                 outputfolder.addView(IPageLayout.ID_PROBLEM_VIEW);
29
30                 outputfolder.addPlaceholder(NewSearchUI.SEARCH_VIEW_ID);
31                 outputfolder.addView(IConsoleConstants.ID_CONSOLE_VIEW);
32                 outputfolder.addView(IPageLayout.ID_BOOKMARKS);
33                 outputfolder.addView(BrowserView.ID_BROWSER);
34                 outputfolder.addPlaceholder(ID_PROGRESS_VIEW);
35
36                 layout.addView(IPageLayout.ID_OUTLINE, IPageLayout.RIGHT, (float) 0.75,
37                                 editorArea);
38                 layout.addActionSet(IDebugUIConstants.LAUNCH_ACTION_SET);
39                 layout.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET);
40                 layout.addShowViewShortcut(BrowserView.ID_BROWSER);
41
42                 // views - search
43                 layout.addShowViewShortcut(NewSearchUI.SEARCH_VIEW_ID);
44
45                 // views - debugging
46                 layout.addShowViewShortcut(IConsoleConstants.ID_CONSOLE_VIEW);
47                 // views - standard workbench
48                 layout.addShowViewShortcut(IPageLayout.ID_OUTLINE);
49                 layout.addShowViewShortcut(IPageLayout.ID_PROBLEM_VIEW);
50                 layout.addShowViewShortcut(IPageLayout.ID_RES_NAV);
51                 // new actions - PHP project creation wizards
52                 layout
53                                 .addNewWizardShortcut("net.sourceforge.phpeclipse.wizards.PHPFileWizard"); //$NON-NLS-1$
54                 layout
55                                 .addNewWizardShortcut("net.sourceforge.phpeclipse.wizards.NewWizardProjectCreation"); //$NON-NLS-1$
56                 layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.folder");//$NON-NLS-1$
57                 layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.file");//$NON-NLS-1$
58                 // perspective shortcuts
59                 layout.addPerspectiveShortcut(IDebugUIConstants.ID_DEBUG_PERSPECTIVE);
60                 layout.addPerspectiveShortcut("org.eclipse.ui.resourcePerspective");
61         }
62 }