1 8 package com.nightlabs.editor2d; 9 10 import org.eclipse.draw2d.PositionConstants; 11 import org.eclipse.gef.editparts.ZoomManager; 12 import org.eclipse.gef.internal.GEFMessages; 13 import org.eclipse.gef.ui.actions.ActionBarContributor; 14 import org.eclipse.gef.ui.actions.AlignmentRetargetAction; 15 import org.eclipse.gef.ui.actions.DeleteRetargetAction; 16 import org.eclipse.gef.ui.actions.GEFActionConstants; 17 import org.eclipse.gef.ui.actions.MatchHeightRetargetAction; 18 import org.eclipse.gef.ui.actions.MatchWidthRetargetAction; 19 import org.eclipse.gef.ui.actions.RedoRetargetAction; 20 import org.eclipse.gef.ui.actions.UndoRetargetAction; 21 import org.eclipse.gef.ui.actions.ZoomInRetargetAction; 22 import org.eclipse.gef.ui.actions.ZoomOutRetargetAction; 23 import org.eclipse.jface.action.IAction; 24 import org.eclipse.jface.action.IMenuManager; 25 import org.eclipse.jface.action.IToolBarManager; 26 import org.eclipse.jface.action.MenuManager; 27 import org.eclipse.jface.action.Separator; 28 import org.eclipse.ui.IWorkbenchActionConstants; 29 import org.eclipse.ui.actions.ActionFactory; 30 import org.eclipse.ui.actions.RetargetAction; 31 32 import com.nightlabs.editor2d.actions.ZoomAllAction; 33 import com.nightlabs.editor2d.actions.ZoomAllRetargetAction; 34 import com.nightlabs.editor2d.actions.ZoomSelectionAction; 35 import com.nightlabs.editor2d.actions.ZoomSelectionRetargetSelection; 36 import com.nightlabs.editor2d.custom.EditorZoomComboContributionItem; 37 38 39 public class EditorActionBarContributor 40 extends ActionBarContributor 41 { 42 43 46 protected void buildActions() 47 { 48 addRetargetAction(new UndoRetargetAction()); 49 addRetargetAction(new RedoRetargetAction()); 50 addRetargetAction(new DeleteRetargetAction()); 51 52 addRetargetAction(new AlignmentRetargetAction(PositionConstants.LEFT)); 53 addRetargetAction(new AlignmentRetargetAction(PositionConstants.CENTER)); 54 addRetargetAction(new AlignmentRetargetAction(PositionConstants.RIGHT)); 55 addRetargetAction(new AlignmentRetargetAction(PositionConstants.TOP)); 56 addRetargetAction(new AlignmentRetargetAction(PositionConstants.MIDDLE)); 57 addRetargetAction(new AlignmentRetargetAction(PositionConstants.BOTTOM)); 58 59 addRetargetAction(new MatchWidthRetargetAction()); 60 addRetargetAction(new MatchHeightRetargetAction()); 61 62 addRetargetAction(new RetargetAction( 63 GEFActionConstants.TOGGLE_RULER_VISIBILITY, 64 GEFMessages.ToggleRulerVisibility_Label, IAction.AS_CHECK_BOX)); 65 66 addRetargetAction(new RetargetAction( 67 GEFActionConstants.TOGGLE_SNAP_TO_GEOMETRY, 68 GEFMessages.ToggleSnapToGeometry_Label, IAction.AS_CHECK_BOX)); 69 70 addRetargetAction(new RetargetAction(GEFActionConstants.TOGGLE_GRID_VISIBILITY, 71 GEFMessages.ToggleGrid_Label, IAction.AS_CHECK_BOX)); 72 73 addRetargetAction(new ZoomInRetargetAction()); 74 addRetargetAction(new ZoomOutRetargetAction()); 75 addRetargetAction(new ZoomAllRetargetAction()); 76 addRetargetAction(new ZoomSelectionRetargetSelection()); 77 79 } 80 81 public static final String ID_VIEW_MENU = "menu view"; 82 85 public void contributeToMenu(IMenuManager menubar) 86 { 87 super.contributeToMenu(menubar); 88 MenuManager viewMenu = new MenuManager(EditorPlugin.getResourceString("menu_view"), ID_VIEW_MENU); 90 viewMenu.add(getAction(GEFActionConstants.ZOOM_IN)); 91 viewMenu.add(getAction(GEFActionConstants.ZOOM_OUT)); 92 viewMenu.add(new Separator()); 93 viewMenu.add(getAction(GEFActionConstants.TOGGLE_RULER_VISIBILITY)); 94 viewMenu.add(getAction(GEFActionConstants.TOGGLE_GRID_VISIBILITY)); 95 viewMenu.add(getAction(GEFActionConstants.TOGGLE_SNAP_TO_GEOMETRY)); 96 viewMenu.add(new Separator()); 97 viewMenu.add(getAction(GEFActionConstants.MATCH_WIDTH)); 98 viewMenu.add(getAction(GEFActionConstants.MATCH_HEIGHT)); 99 menubar.insertAfter(IWorkbenchActionConstants.M_FILE, viewMenu); 100 } 101 102 106 public void contributeToToolBar(IToolBarManager tbm) 107 { 108 super.contributeToToolBar(tbm); 109 tbm.add(getAction(ActionFactory.UNDO.getId())); 110 tbm.add(getAction(ActionFactory.REDO.getId())); 111 112 tbm.add(new Separator()); 113 tbm.add(getAction(GEFActionConstants.ALIGN_LEFT)); 114 tbm.add(getAction(GEFActionConstants.ALIGN_CENTER)); 115 tbm.add(getAction(GEFActionConstants.ALIGN_RIGHT)); 116 tbm.add(new Separator()); 117 tbm.add(getAction(GEFActionConstants.ALIGN_TOP)); 118 tbm.add(getAction(GEFActionConstants.ALIGN_MIDDLE)); 119 tbm.add(getAction(GEFActionConstants.ALIGN_BOTTOM)); 120 121 tbm.add(new Separator()); 122 tbm.add(getAction(GEFActionConstants.MATCH_WIDTH)); 123 tbm.add(getAction(GEFActionConstants.MATCH_HEIGHT)); 124 125 tbm.add(new Separator()); 126 String [] zoomStrings = new String [] { ZoomManager.FIT_ALL, 127 ZoomManager.FIT_HEIGHT, 128 ZoomManager.FIT_WIDTH }; 129 130 tbm.add(new EditorZoomComboContributionItem(getPage(), zoomStrings)); 132 133 tbm.add(getAction(GEFActionConstants.ZOOM_IN)); 134 tbm.add(getAction(GEFActionConstants.ZOOM_OUT)); 135 136 tbm.add(getAction(ZoomAllAction.ID)); 137 tbm.add(getAction(ZoomSelectionAction.ID)); 138 } 139 140 143 protected void declareGlobalActionKeys() 144 { 145 addGlobalActionKey(ActionFactory.PRINT.getId()); 146 addGlobalActionKey(ActionFactory.SELECT_ALL.getId()); 147 addGlobalActionKey(ActionFactory.PASTE.getId()); 148 addGlobalActionKey(ActionFactory.COPY.getId()); 149 } 150 151 } 152
| Popular Tags
|