.
[taxeditor.git] / taxeditor-bulkeditor / src / main / java / eu / etaxonomy / taxeditor / bulkeditor / command / NewObjectContributionItem.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.Map;
14
15 import org.apache.log4j.Logger;
16 import org.eclipse.jface.action.IContributionItem;
17 import org.eclipse.swt.SWT;
18 import org.eclipse.ui.IEditorInput;
19 import org.eclipse.ui.IWorkbenchWindow;
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 * @author p.ciardelli
29 * @created 21.08.2009
30 * @version 1.0
31 */
32 public class NewObjectContributionItem extends CompoundContributionItem {
33 private static final Logger logger = Logger
34 .getLogger(NewObjectContributionItem.class);
35
36 /**
37 *
38 */
39 public NewObjectContributionItem() {
40 }
41
42 /**
43 * @param id
44 */
45 public NewObjectContributionItem(String id) {
46 super(id);
47 }
48
49 /* (non-Javadoc)
50 * @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems()
51 */
52 @Override
53 protected IContributionItem[] getContributionItems() {
54
55 IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
56
57 CommandContributionItemParameter parameter =
58 new CommandContributionItemParameter(
59 window, null, IBulkEditorConstants.DYNAMIC_OPEN_OBJECT_ID, SWT.NONE);
60
61 parameter.label = "New " + getEditorInputLabel(window);
62
63 return new IContributionItem[] {
64 new CommandContributionItem(parameter)
65 };
66 }
67
68 /**
69 * @param window
70 * @return
71 */
72 private String getEditorInputLabel(IWorkbenchWindow window) {
73 IEditorInput input = window.getActivePage().getActiveEditor().getEditorInput();
74
75 BulkEditorInputTypeValues inputValues = new BulkEditorInputTypeValues();
76 return inputValues.getLabelByInputInstance(input);
77 }
78 }