/******************************************************************************* * Copyright (c) 2012 VMWare, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * VMWare, Inc. - initial API and implementation *******************************************************************************/ package org.grails.ide.eclipse.ui.internal.perspective; import org.eclipse.core.runtime.Platform; import org.eclipse.debug.ui.IDebugUIConstants; import org.eclipse.jdt.ui.JavaUI; import org.eclipse.ui.IFolderLayout; import org.eclipse.ui.IPageLayout; import org.eclipse.ui.IPerspectiveFactory; import org.eclipse.ui.console.IConsoleConstants; import org.eclipse.ui.progress.IProgressConstants; /** * Perspective for Grails * @author Christian Dupuis * @author Steffen Pingel * @author Kris De Volder * @version 2.3.3 */ public class GrailsPerspective implements IPerspectiveFactory { public static final String ID = "org.grails.ide.eclipse.perspective"; public void createInitialLayout(IPageLayout layout) { String editorArea = layout.getEditorArea(); IFolderLayout folder = layout.createFolder("left", IPageLayout.LEFT, (float) 0.25, editorArea); //$NON-NLS-1$ folder.addPlaceholder(JavaUI.ID_PACKAGES); folder.addPlaceholder(JavaUI.ID_TYPE_HIERARCHY); folder.addPlaceholder("org.eclipse.ui.views.ResourceNavigator"); folder.addView("org.eclipse.ui.navigator.ProjectExplorer"); layout.addFastView("org.eclipse.jdt.junit.ResultView", (float) 0.25); // layout.addFastView("org.springframework.ide.eclipse.aop.ui.navigator.aopReferenceModelNavigator", (float) 0.25); // layout.addFastView("org.eclipse.contribution.xref.ui.views.XReferenceView", (float) 0.25); if (Platform.getBundle("org.grails.ide.eclipse.runonserver")!=null) { //Run on server is experimental, is not deployed in standard build, so don't add this to perspective unless // the runonserver plugin is present in this STS install. IFolderLayout serverFolder = layout.createFolder("bottomleft", IPageLayout.BOTTOM, (float) 0.80, "left"); //$NON-NLS-1$ serverFolder.addView("org.eclipse.wst.server.ui.ServersView"); } // IFolderLayout serverFolder = layout.createFolder("server", IPageLayout.BOTTOM, (float) 0.80, "left"); // serverFolder.addView("org.eclipse.wst.server.ui.ServersView"); // IFolderLayout tasklistFolder = layout.createFolder("topright", IPageLayout.RIGHT, (float) 0.75, editorArea); //$NON-NLS-1$ // tasklistFolder.addView("org.eclipse.mylyn.tasks.ui.views.tasks"); // IFolderLayout springFolder = layout.createFolder("spring", IPageLayout.BOTTOM, (float) 0.50, "topright"); // springFolder.addView("org.springframework.ide.eclipse.ui.navigator.springExplorer"); IFolderLayout outputfolder = layout.createFolder("bottom", IPageLayout.BOTTOM, (float) 0.80, editorArea); //$NON-NLS-1$ outputfolder.addView(IConsoleConstants.ID_CONSOLE_VIEW); outputfolder.addView("org.eclipse.ui.views.AllMarkersView"); outputfolder.addView(IProgressConstants.PROGRESS_VIEW_ID); outputfolder.addPlaceholder(IPageLayout.ID_PROBLEM_VIEW); outputfolder.addPlaceholder(IPageLayout.ID_TASK_LIST); outputfolder.addPlaceholder(JavaUI.ID_JAVADOC_VIEW); outputfolder.addPlaceholder(JavaUI.ID_SOURCE_VIEW); outputfolder.addPlaceholder("org.eclipse.search.ui.views.SearchView"); outputfolder.addPlaceholder(IPageLayout.ID_BOOKMARKS); outputfolder.addPlaceholder("*"); IFolderLayout outlineFolder = layout.createFolder("middleright", IPageLayout.RIGHT, (float) 0.75, editorArea); //$NON-NLS-1$ outlineFolder.addView(IPageLayout.ID_OUTLINE); outlineFolder.addPlaceholder("org.eclipse.ui.texteditor.TemplatesView"); layout.addActionSet(IDebugUIConstants.LAUNCH_ACTION_SET); layout.addActionSet(JavaUI.ID_ACTION_SET); layout.addActionSet(JavaUI.ID_ELEMENT_CREATION_ACTION_SET); layout.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET); // views - java layout.addShowViewShortcut(JavaUI.ID_PACKAGES); layout.addShowViewShortcut(JavaUI.ID_TYPE_HIERARCHY); layout.addShowViewShortcut(JavaUI.ID_SOURCE_VIEW); layout.addShowViewShortcut(JavaUI.ID_JAVADOC_VIEW); // views - search layout.addShowViewShortcut("org.eclipse.search.ui.views.SearchView"); // views - debugging layout.addShowViewShortcut(IConsoleConstants.ID_CONSOLE_VIEW); // views - standard workbench layout.addShowViewShortcut(IPageLayout.ID_OUTLINE); // layout.addShowViewShortcut(IPageLayout.ID_PROBLEM_VIEW); layout.addShowViewShortcut("org.eclipse.ui.views.AllMarkersView"); // TODO e3.5 replace with IPageLayout.ID_PROJECT_EXPLORER layout.addShowViewShortcut("org.eclipse.ui.navigator.ProjectExplorer"); // layout.addShowViewShortcut(IPageLayout.ID_TASK_LIST); layout.addShowViewShortcut(IProgressConstants.PROGRESS_VIEW_ID); layout.addShowViewShortcut("org.eclipse.ui.texteditor.TemplatesView"); // views - springsource views // layout.addShowViewShortcut("com.springsource.sts.ide.metadata.ui.RequestMappingView"); // layout.addShowViewShortcut("org.springframework.ide.eclipse.aop.ui.navigator.aopReferenceModelNavigator"); // layout.addShowViewShortcut("com.springsource.sts.roo.ui.rooShellView"); // layout.addShowViewShortcut("org.springframework.ide.eclipse.aop.ui.tracing.eventTraceView"); // layout.addShowViewShortcut("org.eclipse.contribution.xref.ui.views.XReferenceView"); layout.addShowViewShortcut("org.eclipse.mylyn.tasks.ui.views.tasks"); layout.addShowViewShortcut("org.eclipse.wst.server.ui.ServersView"); // new files layout.addNewWizardShortcut("org.grails.ide.eclipse.ui.wizards.new.domainclass"); layout.addNewWizardShortcut("org.grails.ide.eclipse.ui.wizards.new.controller"); layout.addNewWizardShortcut("org.grails.ide.eclipse.ui.wizards.new.taglib"); layout.addNewWizardShortcut("org.grails.ide.eclipse.ui.wizards.new.service"); layout.addNewWizardShortcut("org.grails.ide.eclipse.ui.wizard.newGrailsProjectWizard"); layout.addNewWizardShortcut("org.grails.ide.eclipse.ui.wizard.newGrailsPluginProjectWizard"); // layout.addNewWizardShortcut("ajaspectwizard"); //$NON-NLS-1$ layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewPackageCreationWizard"); //$NON-NLS-1$ // layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewClassCreationWizard"); //$NON-NLS-1$ layout.addNewWizardShortcut("org.codehaus.groovy.eclipse.ui.groovyClassWizard");//$NON-NLS-1$ layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard"); //$NON-NLS-1$ layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewEnumCreationWizard"); //$NON-NLS-1$ layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard"); //$NON-NLS-1$ layout.addNewWizardShortcut("org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard");//$NON-NLS-1$ layout.addNewWizardShortcut("org.codehaus.groovy.eclipse.ui.groovyJUnitWizard");//$NON-NLS-1$ layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard"); //$NON-NLS-1$ layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard"); //$NON-NLS-1$ layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewJavaWorkingSetWizard"); //$NON-NLS-1$ // layout.addNewWizardShortcut("org.springframework.ide.eclipse.beans.ui.wizards.newBeansConfig"); // layout.addNewWizardShortcut("org.springframework.ide.eclipse.webflow.ui.wizard.newWebflowConfigWizard"); layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.folder");//$NON-NLS-1$ layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.file");//$NON-NLS-1$ layout.addNewWizardShortcut("org.eclipse.ui.editors.wizards.UntitledTextFileWizard");//$NON-NLS-1$ // new projects // layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.JavaProjectWizard"); //$NON-NLS-1$ // layout.addNewWizardShortcut("ajprojectwizard"); // layout.addNewWizardShortcut("com.springsource.sts.wizard.template"); // layout.addNewWizardShortcut("org.springframework.ide.eclipse.beans.ui.wizards.newSpringProject"); // layout.addNewWizardShortcut("com.springsource.sts.roo.ui.wizard.newRooProjectWizard"); // layout.addNewWizardShortcut("org.codehaus.groovy.eclipse.ui.groovyProjectWizard"); // layout.addNewWizardShortcut("org.eclipse.wst.web.ui.internal.wizards.SimpleWebProjectWizard"); // layout.addNewWizardShortcut("org.eclipse.jst.servlet.ui.project.facet.WebProjectWizard"); // new perspectives layout.addPerspectiveShortcut("org.eclipse.jdt.ui.JavaPerspective"); layout.addPerspectiveShortcut("org.eclipse.debug.ui.DebugPerspective"); layout.addPerspectiveShortcut("org.eclipse.jdt.ui.JavaHierarchyPerspective"); layout.addPerspectiveShortcut("org.eclipse.jdt.ui.JavaBrowsingPerspective"); layout.addPerspectiveShortcut("com.springsource.sts.ide.perspective"); } }