Java tutorial
//======================================================================== // //File: $RCSfile: GraphicsActionBarContributor.java,v $ //Version: $Revision: 1.10 $ //Modified: $Date: 2013/01/10 23:05:58 $ // //(c) Copyright 2005-2014 by Mentor Graphics Corp. All rights reserved. // //======================================================================== // Licensed under the Apache License, Version 2.0 (the "License"); you may not // use this file except in compliance with the License. You may obtain a copy // of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the // License for the specific language governing permissions and limitations under // the License. //======================================================================== // package com.mentor.nucleus.bp.ui.graphics.actions; import org.eclipse.draw2d.PositionConstants; import org.eclipse.gef.editparts.ZoomManager; import org.eclipse.gef.ui.actions.ActionBarContributor; import org.eclipse.gef.ui.actions.AlignmentRetargetAction; import org.eclipse.gef.ui.actions.GEFActionConstants; import org.eclipse.gef.ui.actions.MatchHeightRetargetAction; import org.eclipse.gef.ui.actions.MatchWidthRetargetAction; import org.eclipse.gef.ui.actions.ZoomInRetargetAction; import org.eclipse.gef.ui.actions.ZoomOutRetargetAction; import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.IToolBarManager; import org.eclipse.jface.action.Separator; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.actions.ActionFactory; import org.eclipse.ui.actions.RetargetAction; import com.mentor.nucleus.bp.ui.graphics.editor.ModelEditor; public class GraphicsActionBarContributor extends ActionBarContributor { /** * @see org.eclipse.gef.ui.actions.ActionBarContributor#buildActions() */ protected void buildActions() { addRetargetAction(new AlignmentRetargetAction(PositionConstants.LEFT)); addRetargetAction(new AlignmentRetargetAction(PositionConstants.CENTER)); addRetargetAction(new AlignmentRetargetAction(PositionConstants.RIGHT)); addRetargetAction(new AlignmentRetargetAction(PositionConstants.TOP)); addRetargetAction(new AlignmentRetargetAction(PositionConstants.MIDDLE)); addRetargetAction(new AlignmentRetargetAction(PositionConstants.BOTTOM)); addRetargetAction(new ZoomInRetargetAction()); addRetargetAction(new ZoomOutRetargetAction()); addRetargetAction(new ZoomPageRetargetAction()); addRetargetAction(new ZoomSelectionRetargetAction()); addRetargetAction(new MatchWidthRetargetAction()); addRetargetAction(new MatchHeightRetargetAction()); addRetargetAction(new RetargetAction(ToggleGridViewAction.TOGGLE_GRID, "Show Grid", IAction.AS_CHECK_BOX)); addRetargetAction(new RetargetAction(ToggleGridSnapAction.TOGGLE_GRID_SNAP, "Enable Grid Snapping", IAction.AS_CHECK_BOX)); } /** * @see org.eclipse.gef.ui.actions.ActionBarContributor#declareGlobalActionKeys() */ protected void declareGlobalActionKeys() { addGlobalActionKey(ActionFactory.PRINT.getId()); addGlobalActionKey(ActionFactory.SELECT_ALL.getId()); addGlobalActionKey(ActionFactory.COPY.getId()); addGlobalActionKey(ActionFactory.CUT.getId()); addGlobalActionKey(ActionFactory.RENAME.getId()); addGlobalActionKey(ActionFactory.PASTE.getId()); addGlobalActionKey(ActionFactory.DELETE.getId()); addGlobalActionKey(ActionFactory.UNDO.getId()); addGlobalActionKey(ActionFactory.REDO.getId()); } /** * @see org.eclipse.ui.part.EditorActionBarContributor#contributeToToolBar(IToolBarManager) */ public void contributeToToolBar(IToolBarManager tbm) { tbm.add(new Separator()); tbm.add(getAction(GEFActionConstants.ALIGN_LEFT)); tbm.add(getAction(GEFActionConstants.ALIGN_CENTER)); tbm.add(getAction(GEFActionConstants.ALIGN_RIGHT)); tbm.add(new Separator()); tbm.add(getAction(GEFActionConstants.ALIGN_TOP)); tbm.add(getAction(GEFActionConstants.ALIGN_MIDDLE)); tbm.add(getAction(GEFActionConstants.ALIGN_BOTTOM)); tbm.add(new Separator()); tbm.add(getAction(GEFActionConstants.MATCH_WIDTH)); tbm.add(getAction(GEFActionConstants.MATCH_HEIGHT)); tbm.add(new Separator()); tbm.add(getAction(GEFActionConstants.ZOOM_IN)); tbm.add(getAction(GEFActionConstants.ZOOM_OUT)); tbm.add(getAction(GraphicalActionConstants.ZOOM_PAGE)); tbm.add(getAction(GraphicalActionConstants.ZOOM_SEL)); tbm.add(new Separator()); String[] zoomStrings = new String[] { ZoomManager.FIT_ALL, ZoomManager.FIT_HEIGHT, ZoomManager.FIT_WIDTH }; tbm.add(new GraphicsZoomComboContributionItem(getPage(), zoomStrings)); } /** * @see org.eclipse.ui.part.EditorActionBarContributor#contributeToMenu(IMenuManager) */ public void contributeToMenu(IMenuManager menubar) { super.contributeToMenu(menubar); } @Override public void setActiveEditor(IEditorPart editor) { ModelEditor mEditor = (ModelEditor) editor; if (mEditor.getGraphicalEditor() == null) { return; } if (mEditor.getActivePart() == null) return; super.setActiveEditor(editor); } }