~peta-power-group/+junk/vIDE-trunk

« back to all changes in this revision

Viewing changes to net.launchpad.vide.diagram/src/net/launchpad/vide/flowchart/diagram/part/DiagramEditorContextMenuProvider.java

  • Committer: Dražen Lučanin
  • Date: 2010-11-11 16:39:46 UTC
  • Revision ID: kermit666@gmail.com-20101111163946-c1cmu5z600jk3wki
First working version of the graphical editor.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package net.launchpad.vide.flowchart.diagram.part;
 
2
 
 
3
import org.eclipse.emf.ecore.EObject;
 
4
import org.eclipse.emf.transaction.util.TransactionUtil;
 
5
import org.eclipse.gef.EditPartViewer;
 
6
import org.eclipse.gmf.runtime.common.ui.services.action.contributionitem.ContributionItemService;
 
7
import org.eclipse.gmf.runtime.diagram.ui.actions.ActionIds;
 
8
import org.eclipse.gmf.runtime.diagram.ui.providers.DiagramContextMenuProvider;
 
9
import org.eclipse.jface.action.IMenuManager;
 
10
import org.eclipse.ui.IWorkbenchPart;
 
11
 
 
12
/**
 
13
 * @generated
 
14
 */
 
15
public class DiagramEditorContextMenuProvider extends
 
16
                DiagramContextMenuProvider {
 
17
 
 
18
        /**
 
19
         * @generated
 
20
         */
 
21
        private IWorkbenchPart part;
 
22
 
 
23
        /**
 
24
         * @generated
 
25
         */
 
26
        private DeleteElementAction deleteAction;
 
27
 
 
28
        /**
 
29
         * @generated
 
30
         */
 
31
        public DiagramEditorContextMenuProvider(IWorkbenchPart part,
 
32
                        EditPartViewer viewer) {
 
33
                super(part, viewer);
 
34
                this.part = part;
 
35
                deleteAction = new DeleteElementAction(part);
 
36
                deleteAction.init();
 
37
        }
 
38
 
 
39
        /**
 
40
         * @generated
 
41
         */
 
42
        public void dispose() {
 
43
                if (deleteAction != null) {
 
44
                        deleteAction.dispose();
 
45
                        deleteAction = null;
 
46
                }
 
47
                super.dispose();
 
48
        }
 
49
 
 
50
        /**
 
51
         * @generated
 
52
         */
 
53
        public void buildContextMenu(final IMenuManager menu) {
 
54
                getViewer().flush();
 
55
                try {
 
56
                        TransactionUtil.getEditingDomain(
 
57
                                        (EObject) getViewer().getContents().getModel())
 
58
                                        .runExclusive(new Runnable() {
 
59
 
 
60
                                                public void run() {
 
61
                                                        ContributionItemService
 
62
                                                                        .getInstance()
 
63
                                                                        .contributeToPopupMenu(
 
64
                                                                                        DiagramEditorContextMenuProvider.this,
 
65
                                                                                        part);
 
66
                                                        menu.remove(ActionIds.ACTION_DELETE_FROM_MODEL);
 
67
                                                        menu.appendToGroup("editGroup", deleteAction);
 
68
                                                }
 
69
                                        });
 
70
                } catch (Exception e) {
 
71
                        FlowchartDiagramEditorPlugin.getInstance().logError(
 
72
                                        "Error building context menu", e);
 
73
                }
 
74
        }
 
75
}