Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/vinculum/processeditor/ProcessContextMenuProvider.java


1   /* * ** **  BEGIN LICENSE BLOCK * ** **
2    * Version: MPL 1.1/GPL 2.0/LGPL 2.1
3    *
4    * The contents of this file are subject to the Mozilla Public License Version 
5    * 1.1 (the "License"); you may not use this file except in compliance with 
6    * the License. You may obtain a copy of the License at 
7    * http://www.mozilla.org/MPL/
8    *
9    * Software distributed under the License is distributed on an "AS IS" basis,
10   * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11   * for the specific language governing rights and limitations under the
12   * License.
13   *
14   * The Original Code is Vinculum Open Source.
15   *
16   * The Initial Developer of the Original Code is
17   * Gerard Toonstra.
18   * Portions created by the Initial Developer are Copyright (C) 2003
19   * the Initial Developer. All Rights Reserved.
20   *
21   * Contributor(s):
22   *
23   * Alternatively, the contents of this file may be used under the terms of
24   * either the GNU General Public License Version 2 or later (the "GPL"), or
25   * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
26   * in which case the provisions of the GPL or the LGPL are applicable instead
27   * of those above. If you wish to allow use of your version of this file only
28   * under the terms of either the GPL or the LGPL, and not to allow others to
29   * use your version of this file under the terms of the MPL, indicate your
30   * decision by deleting the provisions above and replace them with the notice
31   * and other provisions required by the GPL or the LGPL. If you do not delete
32   * the provisions above, a recipient may use your version of this file under
33   * the terms of any one of the MPL, the GPL or the LGPL.
34   *
35   * ** ** * END LICENSE BLOCK * ** **
36   */
37  
38  /***************************************************************************
39                            $RCSfile: ProcessContextMenuProvider.java,v $  -  description
40                               -------------------
41      begin                : $Date: 2003/07/08 08:02:09 $
42      copyright            : Vinculum (C) 2002
43      author               : $Author: chiraz $
44   ***************************************************************************/
45  
46  /* $Log: ProcessContextMenuProvider.java,v $
47  /* Revision 1.1.1.1  2003/07/08 08:02:09  chiraz
48  /* egg
49  /* */
50  
51  package com.vinculum.processeditor;
52  
53  import org.eclipse.gef.ContextMenuProvider;
54  import org.eclipse.gef.EditPartViewer;
55  import org.eclipse.gef.ui.actions.ActionRegistry;
56  import org.eclipse.gef.ui.actions.GEFActionConstants;
57  import org.eclipse.jface.action.IAction;
58  import org.eclipse.jface.action.IMenuManager;
59  import org.eclipse.jface.action.MenuManager;
60  import org.eclipse.ui.IWorkbenchActionConstants;
61  
62  /**
63   * @author chilan
64   *
65   */
66  public class ProcessContextMenuProvider extends ContextMenuProvider
67  {
68    private ActionRegistry actionRegistry;
69  
70    public ProcessContextMenuProvider(EditPartViewer viewer, ActionRegistry registry) 
71    {
72      super(viewer);
73      setActionRegistry(registry);
74    }
75  
76    /* (non-Javadoc)
77     * @see org.eclipse.gef.ContextMenuProvider#menuAboutToShow(org.eclipse.jface.action.IMenuManager)
78     */
79    public void buildContextMenu(IMenuManager manager) 
80    {
81      GEFActionConstants.addStandardActionGroups(manager);
82  
83      IAction action;
84  
85      action = getActionRegistry().getAction(GEFActionConstants.UNDO);
86      manager.appendToGroup(GEFActionConstants.GROUP_UNDO, action);
87  
88      action = getActionRegistry().getAction(GEFActionConstants.REDO);
89      manager.appendToGroup(GEFActionConstants.GROUP_UNDO, action);
90  
91      action = getActionRegistry().getAction(IWorkbenchActionConstants.PASTE);
92      if (action.isEnabled())
93        manager.appendToGroup(GEFActionConstants.GROUP_EDIT, action);
94  
95      action = getActionRegistry().getAction(IWorkbenchActionConstants.DELETE);
96      if (action.isEnabled())
97        manager.appendToGroup(GEFActionConstants.GROUP_EDIT, action);
98  
99      action = getActionRegistry().getAction(GEFActionConstants.DIRECT_EDIT);
100     if (action.isEnabled())
101       manager.appendToGroup(GEFActionConstants.GROUP_EDIT, action);
102 
103     // Alignment Actions
104     MenuManager submenu = new MenuManager(ProcessMessages.AlignmentAction_AlignSubmenu_ActionLabelText);
105 
106     action = getActionRegistry().getAction(GEFActionConstants.ALIGN_LEFT);
107     if (action.isEnabled())
108       submenu.add(action);
109 
110     action = getActionRegistry().getAction(GEFActionConstants.ALIGN_CENTER);
111     if (action.isEnabled())
112       submenu.add(action);
113 
114     action = getActionRegistry().getAction(GEFActionConstants.ALIGN_RIGHT);
115     if (action.isEnabled())
116       submenu.add(action);
117 
118     action = getActionRegistry().getAction(GEFActionConstants.ALIGN_TOP);
119     if (action.isEnabled())
120       submenu.add(action);
121 
122     action = getActionRegistry().getAction(GEFActionConstants.ALIGN_MIDDLE);
123     if (action.isEnabled())
124       submenu.add(action);
125 
126     action = getActionRegistry().getAction(GEFActionConstants.ALIGN_BOTTOM);
127     if (action.isEnabled())
128       submenu.add(action);
129 
130     if (!submenu.isEmpty())
131       manager.appendToGroup(GEFActionConstants.GROUP_REST, submenu);
132 
133     action = getActionRegistry().getAction(IWorkbenchActionConstants.SAVE);
134     manager.appendToGroup(GEFActionConstants.GROUP_SAVE, action);
135 
136   }
137 
138   private ActionRegistry getActionRegistry() 
139   {
140     return actionRegistry;
141   }
142 
143   private void setActionRegistry(ActionRegistry registry) 
144   {
145     actionRegistry = registry;
146   }
147 }