merge-update from trunk
[taxeditor.git] / eu.etaxonomy.taxeditor.bulkeditor / src / main / java / eu / etaxonomy / taxeditor / bulkeditor / command / OpenBulkEditorContributionItem.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10
11 package eu.etaxonomy.taxeditor.bulkeditor.command;
12
13 import java.util.ArrayList;
14 import java.util.HashMap;
15 import java.util.List;
16 import java.util.Map;
17
18 import org.eclipse.jface.action.IContributionItem;
19 import org.eclipse.jface.action.Separator;
20 import org.eclipse.swt.SWT;
21 import org.eclipse.ui.PlatformUI;
22 import org.eclipse.ui.actions.CompoundContributionItem;
23 import org.eclipse.ui.menus.CommandContributionItem;
24 import org.eclipse.ui.menus.CommandContributionItemParameter;
25
26 import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;
27 import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputType;
28 import eu.etaxonomy.taxeditor.dataimport.DataImportEditor;
29
30 /**
31 * <p>
32 * OpenBulkEditorContributionItem class.
33 * </p>
34 *
35 * @author p.ciardelli
36 * @created 19.08.2009
37 * @version 1.0
38 */
39 public class OpenBulkEditorContributionItem extends CompoundContributionItem {
40
41 /**
42 * <p>
43 * Constructor for OpenBulkEditorContributionItem.
44 * </p>
45 */
46 public OpenBulkEditorContributionItem() {
47 }
48
49 /**
50 * <p>
51 * Constructor for OpenBulkEditorContributionItem.
52 * </p>
53 *
54 * @param id
55 * a {@link java.lang.String} object.
56 */
57 public OpenBulkEditorContributionItem(String id) {
58 super(id);
59 }
60
61 /*
62 * (non-Javadoc)
63 *
64 * @see
65 * org.eclipse.ui.actions.CompoundContributionItem#getContributionItems()
66 */
67 /** {@inheritDoc} */
68 @Override
69 protected IContributionItem[] getContributionItems() {
70
71 List<IContributionItem> contributionItems = new ArrayList<IContributionItem>();
72
73 contributionItems.add(BulkEditorInputType.AGENT.createContributionItem());
74 contributionItems.add(BulkEditorInputType.REFERENCE.createContributionItem());
75 String groupName = "test";
76 contributionItems.add(new Separator(groupName));
77 contributionItems.add(BulkEditorInputType.NAME.createContributionItem());
78 contributionItems.add(BulkEditorInputType.NAME_RELATIONSHIP.createContributionItem());
79 contributionItems.add(new Separator(groupName));
80 contributionItems.add(BulkEditorInputType.OCCURRENCE.createContributionItem());
81 contributionItems.add(new Separator(groupName));
82 contributionItems.add(BulkEditorInputType.USER.createContributionItem());
83 contributionItems.add(BulkEditorInputType.GROUP.createContributionItem());
84 contributionItems.add(new Separator(groupName));
85 contributionItems.add(createContributionItem("Search Specimen", DataImportEditor.ID));
86
87 return contributionItems.toArray(new IContributionItem[contributionItems.size()]);
88 }
89
90 /**
91 * @param key
92 * @param object
93 * @return
94 */
95 private IContributionItem createContributionItem(String label, String inputType) {
96 CommandContributionItemParameter parameter = new CommandContributionItemParameter(PlatformUI.getWorkbench().getActiveWorkbenchWindow(), null, IBulkEditorConstants.DYNAMIC_OPEN_MENU_ID, SWT.NONE);
97
98 parameter.label = label;
99
100 Map<String, String> parameters = new HashMap<String, String>();
101 parameters.put(IBulkEditorConstants.INPUT_TYPE_PARAMETER_ID, inputType);
102 parameter.parameters = parameters;
103
104 return new CommandContributionItem(parameter);
105 }
106 }