19 package org.sleuthkit.autopsy.menuactions;
21 import java.util.List;
22 import javax.swing.JComponent;
23 import javax.swing.JMenu;
24 import javax.swing.JMenuItem;
25 import org.openide.awt.DynamicMenuContent;
26 import org.openide.util.Lookup;
27 import org.openide.util.NbBundle;
28 import org.openide.windows.TopComponent;
37 class DataContentDynamicMenu
extends JMenuItem implements DynamicMenuContent {
40 public JComponent[] getMenuPresenters() {
44 int totalItems = newWindowLists.size() > 0 ? 2 : 1;
45 JComponent[] comps =
new JComponent[totalItems];
49 JMenuItem defaultItem =
new JMenuItem(contentWin.getName());
51 defaultItem.addActionListener(
new OpenTopComponentAction(contentWin));
55 defaultItem.setEnabled(currentCase.
hasData());
56 }
catch (IllegalStateException ex) {
57 defaultItem.setEnabled(
false);
60 comps[counter++] = defaultItem;
63 if (newWindowLists != null) {
64 if (newWindowLists.size() > 0) {
66 JMenu submenu =
new JMenu(
67 NbBundle.getMessage(
this.getClass(),
"DataContentDynamicMenu.menu.dataContentWin.text"));
68 for (
int i = 0; i < newWindowLists.size(); i++) {
70 JMenuItem item =
new JMenuItem(dctc.getName());
71 item.addActionListener(
new OpenTopComponentAction(dctc));
75 comps[counter++] = submenu;
83 public JComponent[] synchMenuPresenters(JComponent[] jcs) {
84 return getMenuPresenters();
static synchronized DataContentTopComponent findInstance()
static List< DataContentTopComponent > getNewWindowList()
static Case getCurrentCase()