Re-implemented taxonomic tree using Common Navigator Framework.
[taxeditor.git] / taxeditor-navigation / src / main / java / eu / etaxonomy / taxeditor / navigation / RecentNamesContributionItem.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.navigation;
12
13 import org.apache.log4j.Logger;
14 import org.eclipse.jface.action.ContributionItem;
15 import org.eclipse.jface.action.IContributionItem;
16 import org.eclipse.jface.action.IContributionManager;
17 import org.eclipse.swt.widgets.Menu;
18 import org.eclipse.ui.actions.ContributionItemFactory;
19 import org.eclipse.ui.internal.IPreferenceConstants;
20 import org.eclipse.ui.internal.Workbench;
21 import org.eclipse.ui.internal.WorkbenchPlugin;
22
23 import eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin;
24 import eu.etaxonomy.taxeditor.navigation.internal.TaxeditorNavigationPlugin;
25 import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
26
27 /**
28 * This is a wrapper for Eclipse's recently opened editors functionality. IsDirty()
29 * and isDynamic() are both set to true to force redraw every time menu is opened.
30 *
31 * @author p.ciardelli
32 * @created 23.04.2009
33 * @version 1.0
34 */
35 public class RecentNamesContributionItem extends ContributionItem {
36 private static final Logger logger = Logger
37 .getLogger(RecentNamesContributionItem.class);
38
39 private IContributionItem recentWindows;
40 private IContributionManager parent;
41
42 // @SuppressWarnings("restriction")
43 // RecentNamesContributionItem() {
44 //// WorkbenchPlugin.getDefault().getPreferenceStore().setValue(IPreferenceConstants.RECENT_FILES, 10);
45 // TaxeditorNavigationPlugin.getDefault().getPreferenceStore().setValue("RECENT_FILES", 10);
46 // }
47
48 private IContributionItem getRecentWindows() {
49 if (recentWindows == null) {
50
51 // int itemsToShow = TaxeditorNavigationPlugin.getDefault().getPreferenceStore()
52 // .getInt("RECENT_FILES");
53
54 recentWindows = ContributionItemFactory.REOPEN_EDITORS.create(NavigationUtil.getActiveWindow());
55 recentWindows.setParent(parent);
56 }
57 return recentWindows;
58 }
59
60 /* (non-Javadoc)
61 * @see org.eclipse.jface.action.IContributionItem#dispose()
62 */
63 @Override
64 public void dispose() {
65 getRecentWindows().dispose();
66 super.dispose();
67 }
68
69 /* (non-Javadoc)
70 * @see org.eclipse.jface.action.IContributionItem#fill(org.eclipse.swt.widgets.Menu, int)
71 */
72 @Override
73 public void fill(Menu parent, int index) {
74 getRecentWindows().fill(parent, index);
75 }
76
77 /* (non-Javadoc)
78 * @see org.eclipse.jface.action.IContributionItem#isDirty()
79 */
80 @Override
81 public boolean isDirty() {
82 return true;
83 }
84
85 /* (non-Javadoc)
86 * @see org.eclipse.jface.action.IContributionItem#isDynamic()
87 */
88 @Override
89 public boolean isDynamic() {
90 return true;
91 }
92 }