package org.keplerproject.ldt.ui;
import org.eclipse.ui.IFolderLayout;
import org.eclipse.ui.IPageLayout;
import org.eclipse.ui.IPerspectiveFactory;
import org.eclipse.ui.console.IConsoleConstants;
import org.keplerproject.ldt.ui.wizards.LuaFileWizard;
import org.keplerproject.ldt.ui.wizards.LuaProjectWizard;
public class LuaPerspective implements IPerspectiveFactory {
private IPageLayout factory;
public LuaPerspective() {
super();
}
public void createInitialLayout(IPageLayout factory) {
this.factory = factory;
addViews();
addActionSets();
addNewWizardShortcuts();
addPerspectiveShortcuts();
addViewShortcuts();
}
private void addViews() {
// Creates the overall folder layout.
// Note that each new Folder uses a percentage of the remaining
// EditorArea.
IFolderLayout bottom = factory.createFolder("bottomRight", // NON-NLS-1
IPageLayout.BOTTOM, 0.75f, factory.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 = factory.createFolder("topLeft", // NON-NLS-1
IPageLayout.LEFT, 0.25f, factory.getEditorArea());
topLeft.addView(IPageLayout.ID_RES_NAV);
IFolderLayout topRight = factory.createFolder("topRight", // NON-NLS-1
IPageLayout.RIGHT, 0.75f, factory.getEditorArea());
topRight.addView(IPageLayout.ID_OUTLINE);
factory.addFastView("org.eclipse.team.ccvs.ui.RepositoriesView", 0.50f); // NON-NLS-1
factory.addFastView("org.eclipse.team.sync.views.SynchronizeView",
0.50f); // NON-NLS-1
}
private void addActionSets() {
factory.addActionSet("org.eclipse.debug.ui.launchActionSet"); // NON-NLS-1
factory.addActionSet("org.eclipse.debug.ui.debugActionSet"); // NON-NLS-1
factory.addActionSet("org.eclipse.debug.ui.profileActionSet"); // NON-NLS-1
factory.addActionSet("org.eclipse.team.ui.actionSet"); // NON-NLS-1
factory.addActionSet("org.eclipse.team.cvs.ui.CVSActionSet"); // NON-NLS-1
factory.addActionSet("org.eclipse.ant.ui.actionSet.presentation"); // NON-NLS-1
factory.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET); // NON-NLS-1
}
private void addPerspectiveShortcuts() {
factory
.addPerspectiveShortcut("org.eclipse.team.ui.TeamSynchronizingPerspective"); // NON-NLS-1
factory
.addPerspectiveShortcut("org.eclipse.team.cvs.ui.cvsPerspective"); // NON-NLS-1
factory.addPerspectiveShortcut("org.eclipse.ui.resourcePerspective"); // NON-NLS-1
}
private void addNewWizardShortcuts() {
factory.addNewWizardShortcut(LuaProjectWizard.WIZARD_ID);
factory.addNewWizardShortcut(LuaFileWizard.WIZARD_ID);
// factory.addNewWizardShortcut(RubyNewModuleWizard.WIZARD_ID);
// factory.addNewWizardShortcut(RubyNewFileWizard.WIZARD_ID);
factory
.addNewWizardShortcut("org.eclipse.team.cvs.ui.newProjectCheckout");// NON-NLS-1
factory.addNewWizardShortcut("org.eclipse.ui.wizards.new.folder");// NON-NLS-1
factory.addNewWizardShortcut("org.eclipse.ui.wizards.new.file");// NON-NLS-1
}
private void addViewShortcuts() {
factory.addShowViewShortcut("org.eclipse.team.ccvs.ui.AnnotateView"); // NON-NLS-1
factory.addShowViewShortcut("org.eclipse.team.ui.GenericHistoryView"); // NON-NLS-1
factory.addShowViewShortcut(IConsoleConstants.ID_CONSOLE_VIEW);
factory.addShowViewShortcut(IPageLayout.ID_RES_NAV);
factory.addShowViewShortcut(IPageLayout.ID_PROBLEM_VIEW);
factory.addShowViewShortcut(IPageLayout.ID_OUTLINE);
}
}