]> git.uio.no Git - ifi-stolz-refaktor.git/blame - case-study/jdt-before/ui/org/eclipse/jdt/internal/ui/compare/LocalHistoryActionGroup.java
Case Study: adding data and statistics
[ifi-stolz-refaktor.git] / case-study / jdt-before / ui / org / eclipse / jdt / internal / ui / compare / LocalHistoryActionGroup.java
CommitLineData
1b2798f6
EK
1/*******************************************************************************
2 * Copyright (c) 2000, 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 *******************************************************************************/
11package org.eclipse.jdt.internal.ui.compare;
12
13import org.eclipse.core.runtime.Assert;
14
15import org.eclipse.jface.action.IMenuManager;
16import org.eclipse.jface.action.MenuManager;
17
18import org.eclipse.ui.PlatformUI;
19import org.eclipse.ui.actions.ActionGroup;
20
21import org.eclipse.jdt.internal.ui.IJavaHelpContextIds;
22import org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor;
23
24public class LocalHistoryActionGroup extends ActionGroup {
25
26 private String fGroupName;
27
28 private JavaHistoryAction fCompareWith;
29 private JavaHistoryAction fReplaceWithPrevious;
30 private JavaHistoryAction fReplaceWith;
31 private JavaHistoryAction fAddFrom;
32
33 public LocalHistoryActionGroup(CompilationUnitEditor editor, String groupName) {
34 Assert.isNotNull(groupName);
35 fGroupName= groupName;
36 fCompareWith= new JavaCompareWithEditionAction();
37 fCompareWith.init(editor,
38 CompareMessages.LocalHistoryActionGroup_action_compare_with,
39 CompareMessages.LocalHistoryActionGroup_action_compare_with_title,
40 CompareMessages.LocalHistoryActionGroup_action_compare_with_message);
41 PlatformUI.getWorkbench().getHelpSystem().setHelp(fCompareWith, IJavaHelpContextIds.COMPARE_WITH_HISTORY_ACTION);
42
43 fReplaceWithPrevious= new JavaReplaceWithPreviousEditionAction();
44 fReplaceWithPrevious.init(editor,
45 CompareMessages.LocalHistoryActionGroup_action_replace_with_previous,
46 CompareMessages.LocalHistoryActionGroup_action_replace_with_previous_title,
47 CompareMessages.LocalHistoryActionGroup_action_replace_with_previous_message);
48 PlatformUI.getWorkbench().getHelpSystem().setHelp(fReplaceWithPrevious, IJavaHelpContextIds.REPLACE_WITH_PREVIOUS_FROM_HISTORY_ACTION);
49
50 fReplaceWith= new JavaReplaceWithEditionAction();
51 fReplaceWith.init(editor,
52 CompareMessages.LocalHistoryActionGroup_action_replace_with,
53 CompareMessages.LocalHistoryActionGroup_action_replace_with_title,
54 CompareMessages.LocalHistoryActionGroup_action_replace_with_message);
55 PlatformUI.getWorkbench().getHelpSystem().setHelp(fReplaceWith, IJavaHelpContextIds.REPLACE_WITH_HISTORY_ACTION);
56
57 fAddFrom= new JavaAddElementFromHistory();
58 fAddFrom.init(editor,
59 CompareMessages.LocalHistoryActionGroup_action_add,
60 CompareMessages.LocalHistoryActionGroup_action_add_title,
61 CompareMessages.LocalHistoryActionGroup_action_add_message);
62 PlatformUI.getWorkbench().getHelpSystem().setHelp(fAddFrom, IJavaHelpContextIds.ADD_FROM_HISTORY_ACTION);
63 }
64
65 @Override
66 public void fillContextMenu(IMenuManager menu) {
67 super.fillContextMenu(menu);
68 IMenuManager localMenu= new MenuManager(CompareMessages.LocalHistoryActionGroup_menu_local_history);
69 int added= 0;
70 added+= addAction(localMenu, fCompareWith);
71 added+= addAction(localMenu, fReplaceWithPrevious);
72 added+= addAction(localMenu, fReplaceWith);
73 added+= addAction(localMenu, fAddFrom);
74 if (added > 0)
75 menu.appendToGroup(fGroupName, localMenu);
76 }
77
78 private int addAction(IMenuManager menu, JavaHistoryAction action) {
79 action.update();
80 if (action.isEnabled()) {
81 menu.add(action);
82 return 1;
83 }
84 return 0;
85 }
86}