Working on the polytomous key editor
[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.swt.SWT;
20 import org.eclipse.ui.PlatformUI;
21 import org.eclipse.ui.actions.CompoundContributionItem;
22 import org.eclipse.ui.menus.CommandContributionItem;
23 import org.eclipse.ui.menus.CommandContributionItemParameter;
24
25 import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;
26
27 /**
28 * <p>
29 * OpenBulkEditorContributionItem class.
30 * </p>
31 *
32 * @author p.ciardelli
33 * @created 19.08.2009
34 * @version 1.0
35 */
36 public class OpenBulkEditorContributionItem extends CompoundContributionItem {
37
38 /**
39 * <p>
40 * Constructor for OpenBulkEditorContributionItem.
41 * </p>
42 */
43 public OpenBulkEditorContributionItem() {
44 }
45
46 /**
47 * <p>
48 * Constructor for OpenBulkEditorContributionItem.
49 * </p>
50 *
51 * @param id
52 * a {@link java.lang.String} object.
53 */
54 public OpenBulkEditorContributionItem(String id) {
55 super(id);
56 }
57
58 /*
59 * (non-Javadoc)
60 *
61 * @see
62 * org.eclipse.ui.actions.CompoundContributionItem#getContributionItems()
63 */
64 /** {@inheritDoc} */
65 @Override
66 protected IContributionItem[] getContributionItems() {
67
68 List<IContributionItem> contributionItems = new ArrayList<IContributionItem>();
69
70 Map inputTypeValues = (new BulkEditorInputTypeValues())
71 .getParameterValues();
72 for (Object key : inputTypeValues.keySet()) {
73 contributionItems.add(createContributionItem((String) key,
74 (String) inputTypeValues.get(key)));
75 }
76
77 return contributionItems
78 .toArray(new IContributionItem[contributionItems.size()]);
79 }
80
81 /**
82 * @param key
83 * @param object
84 * @return
85 */
86 private IContributionItem createContributionItem(String label,
87 String inputType) {
88 CommandContributionItemParameter parameter = new CommandContributionItemParameter(
89 PlatformUI.getWorkbench().getActiveWorkbenchWindow(), null,
90 IBulkEditorConstants.DYNAMIC_OPEN_MENU_ID, SWT.NONE);
91
92 parameter.label = label;
93
94 Map parameters = new HashMap();
95 parameters.put(IBulkEditorConstants.INPUT_TYPE_PARAMETER_ID, inputType);
96 parameter.parameters = parameters;
97
98 return new CommandContributionItem(parameter);
99 }
100 }