/******************************************************************************* * Copyright (c) 2014, 2015 Cisco Systems, Inc. and others. 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 * *******************************************************************************/ package com.cisco.yangide.editor.editors; import java.util.List; import org.eclipse.ui.IActionBars; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.actions.ActionGroup; import org.eclipse.ui.texteditor.BasicTextEditorActionContributor; import org.eclipse.ui.texteditor.ITextEditor; /** * @author Alexey Kholupko */ public class YangEditorActionContributor extends BasicTextEditorActionContributor { @Override public void setActiveEditor(IEditorPart part) { if (getActiveEditorPart() == part) { return; } super.setActiveEditor(part); ITextEditor textEditor = null; if (part instanceof ITextEditor) { textEditor = (ITextEditor) part; } IActionBars actionBars = getActionBars(); actionBars.setGlobalActionHandler( "com.cisco.yangide.editor.actions.shiftRight", getAction(textEditor, "ShiftRight")); //$NON-NLS-1$ actionBars.setGlobalActionHandler( "com.cisco.yangide.editor.actions.shiftLeft", getAction(textEditor, "ShiftLeft")); //$NON-NLS-1$ actionBars.setGlobalActionHandler("com.cisco.yangide.editor.actions.ToggleComment", getAction(textEditor, "ToggleComment")); //$NON-NLS-1$ actionBars.setGlobalActionHandler("com.cisco.yangide.editor.actions.AddBlockComment", getAction(textEditor, "AddBlockComment")); //$NON-NLS-1$ actionBars.setGlobalActionHandler("com.cisco.yangide.editor.actions.RemoveBlockComment", getAction(textEditor, "RemoveBlockComment")); //$NON-NLS-1$ actionBars.setGlobalActionHandler( "com.cisco.yangide.editor.actions.FormatDocument", getAction(textEditor, "FormatDocument")); //$NON-NLS-1$ actionBars.setGlobalActionHandler( "com.cisco.yangide.editor.actions.OpenDeclaration", getAction(textEditor, "OpenDeclaration")); //$NON-NLS-1$ if (part instanceof YangEditor) { List<ActionGroup> actionGroups = ((YangEditor) part).getActionGroups(); for (ActionGroup actionGroup : actionGroups) { actionGroup.fillActionBars(actionBars); } } } }