blob: a377389b3b72922af9da4125cc2d2b9423d01c44 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011, 2014 - Cristiano Gavião (Brazil), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Cristiano Gavião - initial API and implementation
*******************************************************************************/
package org.eclipse.osbp.dsl.eclipse.ui.perspectives;
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;
/**
* This class is meant to serve as an example for how various contributions are
* made to a perspective. Note that some of the extension point id's are
* referred to as API constants while others are hardcoded and may be subject to
* change.
*/
public class OSBPPerspective implements IPerspectiveFactory {
private IPageLayout pageLayout;
public OSBPPerspective() {
super();
}
public void createInitialLayout(IPageLayout layout) {
this.pageLayout = layout;
String editorArea = layout.getEditorArea();
layout.setEditorAreaVisible(false);
layout.setFixed(true);
addViews();
addActionSets();
addNewWizardShortcuts();
addPerspectiveShortcuts();
addViewShortcuts();
layout.addStandaloneView("example.view", true /* show title */,
IPageLayout.LEFT, 1.0f, editorArea);
}
private void addViews() {
// Creates the overall folder layout.
// Note that each new Folder uses a percentage of the remaining
// EditorArea.
IFolderLayout bottom = pageLayout.createFolder("bottomRight", // NON-NLS-1
IPageLayout.BOTTOM, 0.75f, pageLayout.getEditorArea());
bottom.addView(IPageLayout.ID_PROBLEM_VIEW);
bottom.addView("org.eclipse.team.ui.GenericHistoryView"); // NON-NLS-1
bottom.addPlaceholder(IConsoleConstants.ID_CONSOLE_VIEW);
IFolderLayout topLeft = pageLayout.createFolder("topLeft", // NON-NLS-1
IPageLayout.LEFT, 0.25f, pageLayout.getEditorArea());
topLeft.addView("org.eclipse.jdt.junit.ResultView"); // NON-NLS-1
pageLayout.addFastView("org.eclipse.team.ccvs.ui.RepositoriesView", 0.50f); // NON-NLS-1
pageLayout.addFastView("org.eclipse.team.sync.views.SynchronizeView",
0.50f); // NON-NLS-1
}
private void addActionSets() {
pageLayout.addActionSet("org.eclipse.debug.ui.launchActionSet"); // NON-NLS-1
pageLayout.addActionSet("org.eclipse.debug.ui.debugActionSet"); // NON-NLS-1
pageLayout.addActionSet("org.eclipse.debug.ui.profileActionSet"); // NON-NLS-1
pageLayout.addActionSet("org.eclipse.jdt.debug.ui.JDTDebugActionSet"); // NON-NLS-1
pageLayout.addActionSet("org.eclipse.jdt.junit.JUnitActionSet"); // NON-NLS-1
pageLayout.addActionSet("org.eclipse.team.ui.actionSet"); // NON-NLS-1
pageLayout.addActionSet("org.eclipse.team.cvs.ui.CVSActionSet"); // NON-NLS-1
pageLayout.addActionSet("org.eclipse.ant.ui.actionSet.presentation"); // NON-NLS-1
pageLayout.addActionSet(JavaUI.ID_ACTION_SET);
pageLayout.addActionSet(JavaUI.ID_ELEMENT_CREATION_ACTION_SET);
pageLayout.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET); // NON-NLS-1
}
private void addPerspectiveShortcuts() {
pageLayout.addPerspectiveShortcut("org.eclipse.team.ui.TeamSynchronizingPerspective"); // NON-NLS-1
pageLayout.addPerspectiveShortcut("org.eclipse.team.cvs.ui.cvsPerspective"); // NON-NLS-1
pageLayout.addPerspectiveShortcut("org.eclipse.ui.resourcePerspective"); // NON-NLS-1
}
private void addNewWizardShortcuts() {
pageLayout.addNewWizardShortcut("org.eclipse.team.cvs.ui.newProjectCheckout");// NON-NLS-1
pageLayout.addNewWizardShortcut("org.eclipse.ui.wizards.new.folder");// NON-NLS-1
pageLayout.addNewWizardShortcut("org.eclipse.ui.wizards.new.file");// NON-NLS-1
}
private void addViewShortcuts() {
pageLayout.addShowViewShortcut("org.eclipse.ant.ui.views.AntView"); // NON-NLS-1
pageLayout.addShowViewShortcut("org.eclipse.team.ccvs.ui.AnnotateView"); // NON-NLS-1
pageLayout.addShowViewShortcut("org.eclipse.pde.ui.DependenciesView"); // NON-NLS-1
pageLayout.addShowViewShortcut("org.eclipse.jdt.junit.ResultView"); // NON-NLS-1
pageLayout.addShowViewShortcut("org.eclipse.team.ui.GenericHistoryView"); // NON-NLS-1
pageLayout.addShowViewShortcut(IConsoleConstants.ID_CONSOLE_VIEW);
pageLayout.addShowViewShortcut(JavaUI.ID_PACKAGES);
pageLayout.addShowViewShortcut(IPageLayout.ID_PROBLEM_VIEW);
pageLayout.addShowViewShortcut(IPageLayout.ID_OUTLINE);
}
}