]>
Commit | Line | Data |
---|---|---|
1b2798f6 EK |
1 | /******************************************************************************* |
2 | * Copyright (c) 2008, 2011 IBM Corporation and others. | |
3 | * All rights reserved. This program and the accompanying materials | |
4 | * are made available under the terms of the Eclipse Public License v1.0 | |
5 | * which accompanies this distribution, and is available at | |
6 | * http://www.eclipse.org/legal/epl-v10.html | |
7 | * | |
8 | * Contributors: | |
9 | * IBM Corporation - initial API and implementation | |
10 | *******************************************************************************/ | |
11 | package org.eclipse.jdt.internal.ui.javaeditor; | |
12 | ||
13 | import org.eclipse.core.commands.operations.IUndoContext; | |
14 | ||
15 | import org.eclipse.core.resources.ResourcesPlugin; | |
16 | ||
17 | import org.eclipse.jface.action.Action; | |
18 | import org.eclipse.jface.action.IMenuManager; | |
19 | import org.eclipse.jface.viewers.ISelectionProvider; | |
20 | ||
21 | import org.eclipse.ui.IActionBars; | |
22 | import org.eclipse.ui.IWorkbenchSite; | |
23 | import org.eclipse.ui.actions.ActionGroup; | |
24 | import org.eclipse.ui.operations.UndoRedoActionGroup; | |
25 | ||
26 | import org.eclipse.jdt.ui.IContextMenuConstants; | |
27 | import org.eclipse.jdt.ui.actions.BuildActionGroup; | |
28 | import org.eclipse.jdt.ui.actions.CCPActionGroup; | |
29 | import org.eclipse.jdt.ui.actions.GenerateActionGroup; | |
30 | import org.eclipse.jdt.ui.actions.IJavaEditorActionDefinitionIds; | |
31 | import org.eclipse.jdt.ui.actions.JavaSearchActionGroup; | |
32 | import org.eclipse.jdt.ui.actions.NavigateActionGroup; | |
33 | import org.eclipse.jdt.ui.actions.ProjectActionGroup; | |
34 | import org.eclipse.jdt.ui.actions.RefactorActionGroup; | |
35 | ||
36 | import org.eclipse.jdt.internal.ui.JavaPlugin; | |
37 | import org.eclipse.jdt.internal.ui.actions.CompositeActionGroup; | |
38 | import org.eclipse.jdt.internal.ui.actions.NewWizardsActionGroup; | |
39 | import org.eclipse.jdt.internal.ui.wizards.buildpaths.newsourcepage.GenerateBuildPathActionGroup; | |
40 | import org.eclipse.jdt.internal.ui.workingsets.ConfigureWorkingSetAssignementAction; | |
41 | ||
42 | ||
43 | /** | |
44 | * Actions to show in the context menu for elements in the {@link JavaEditorBreadcrumb}. | |
45 | * | |
46 | * @since 3.4 | |
47 | */ | |
48 | public final class JavaEditorBreadcrumbActionGroup extends CompositeActionGroup { | |
49 | ||
50 | public static final class WorkingSetActionGroup extends ActionGroup { | |
51 | ||
52 | public final ConfigureWorkingSetAssignementAction fAssignWorkingSetAction; | |
53 | private final ISelectionProvider fSelectionProvider; | |
54 | ||
55 | public WorkingSetActionGroup(IWorkbenchSite site, ISelectionProvider selectionProvider) { | |
56 | fSelectionProvider= selectionProvider; | |
57 | fAssignWorkingSetAction= new ConfigureWorkingSetAssignementAction(site); | |
58 | fAssignWorkingSetAction.generated_8987267122908171094(selectionProvider); | |
59 | } | |
60 | ||
61 | @Override | |
62 | public void dispose() { | |
63 | super.dispose(); | |
64 | fSelectionProvider.removeSelectionChangedListener(fAssignWorkingSetAction); | |
65 | } | |
66 | ||
67 | @Override | |
68 | public void fillContextMenu(IMenuManager menu) { | |
69 | fAssignWorkingSetAction.generated_7000053181033395464(menu); | |
70 | } | |
71 | } | |
72 | ||
73 | static final class BreadcrumbActionGroup extends ActionGroup { | |
74 | ||
75 | static final class GoToEditorAction extends Action { | |
76 | ||
77 | private final JavaEditor fJavaEditor; | |
78 | ||
79 | public GoToEditorAction(JavaEditor javaEditor) { | |
80 | super(JavaEditorMessages.JavaEditorBreadcrumbActionGroup_go_to_editor_action_label); | |
81 | setEnabled(true); | |
82 | fJavaEditor= javaEditor; | |
83 | } | |
84 | ||
85 | /* | |
86 | * @see org.eclipse.jface.action.Action#run() | |
87 | */ | |
88 | @Override | |
89 | public void run() { | |
90 | fJavaEditor.getViewer().getTextWidget().setFocus(); | |
91 | } | |
92 | } | |
93 | ||
94 | GoToEditorAction fGoToEditor; | |
95 | ToggleBreadcrumbAction fHideBreadcrumb; | |
96 | ||
97 | public BreadcrumbActionGroup(JavaEditor javaEditor) { | |
98 | javaEditor.generated_3832924501355813035(BreadcrumbActionGroup.this); | |
99 | } | |
100 | ||
101 | /* | |
102 | * @see org.eclipse.ui.actions.ActionGroup#fillActionBars(org.eclipse.ui.IActionBars) | |
103 | */ | |
104 | @Override | |
105 | public void fillActionBars(IActionBars actionBars) { | |
106 | super.fillActionBars(actionBars); | |
107 | actionBars.setGlobalActionHandler(IJavaEditorActionDefinitionIds.SHOW_IN_BREADCRUMB, fGoToEditor); | |
108 | } | |
109 | ||
110 | /* | |
111 | * @see org.eclipse.ui.actions.ActionGroup#fillContextMenu(org.eclipse.jface.action.IMenuManager) | |
112 | */ | |
113 | @Override | |
114 | public void fillContextMenu(IMenuManager menu) { | |
115 | super.fillContextMenu(menu); | |
116 | menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, fGoToEditor); | |
117 | menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, fHideBreadcrumb); | |
118 | } | |
119 | } | |
120 | ||
121 | public JavaEditorBreadcrumbActionGroup(JavaEditor javaEditor, ISelectionProvider selectionProvider) { | |
122 | super(new ActionGroup[] { | |
123 | new BreadcrumbActionGroup(javaEditor), | |
124 | new UndoRedoActionGroup(javaEditor.getEditorSite(), (IUndoContext) ResourcesPlugin.getWorkspace().getAdapter(IUndoContext.class), true), | |
125 | new NewWizardsActionGroup(javaEditor.getEditorSite()), | |
126 | new JavaSearchActionGroup(javaEditor.getEditorSite(), selectionProvider), | |
127 | new NavigateActionGroup(javaEditor.getEditorSite(), selectionProvider), | |
128 | new CCPActionGroup(javaEditor.getEditorSite(), selectionProvider), | |
129 | new GenerateBuildPathActionGroup(javaEditor.getEditorSite(), selectionProvider), | |
130 | new GenerateActionGroup(javaEditor.getEditorSite(), selectionProvider), | |
131 | new RefactorActionGroup(javaEditor.getEditorSite(), selectionProvider), | |
132 | new BuildActionGroup(javaEditor.getEditorSite(), selectionProvider), | |
133 | new ProjectActionGroup(javaEditor.getEditorSite(), selectionProvider), | |
134 | new WorkingSetActionGroup(javaEditor.getEditorSite(), selectionProvider) | |
135 | }); | |
136 | } | |
137 | ||
138 | /* | |
139 | * @see org.eclipse.jdt.internal.ui.actions.CompositeActionGroup#fillContextMenu(org.eclipse.jface.action.IMenuManager) | |
140 | */ | |
141 | @Override | |
142 | public void fillContextMenu(IMenuManager menu) { | |
143 | JavaPlugin.createStandardGroups(menu); | |
144 | ||
145 | super.fillContextMenu(menu); | |
146 | } | |
147 | } |