/** * Sets the action enabled depending on the selected type. * * @see TreeViewerAction#onDisplayChange(TreeImageDisplay) */ protected void onDisplayChange(TreeImageDisplay selectedDisplay) { if (selectedDisplay == null) { setEnabled(false); return; } Browser browser = model.getSelectedBrowser(); if (browser == null) { setEnabled(false); return; } Object ho = selectedDisplay.getUserObject(); if (ho instanceof DatasetData || ho instanceof ProjectData || ho instanceof ImageData || ho instanceof ScreenData || ho instanceof PlateData) { if (model.canAnnotate(ho)) { List selected = browser.getSelectedDataObjects(); if (selected == null) setEnabled(false); else { List<Long> ids = new ArrayList<Long>(); Iterator i = selected.iterator(); DataObject data; while (i.hasNext()) { data = (DataObject) i.next(); if (!ids.contains(data.getGroupId())) ids.add(data.getGroupId()); } setEnabled(ids.size() == 1); } } else setEnabled(false); } else setEnabled(false); }
/** * Sets the action enabled depending on the state of the {@link Browser}. * * @see TreeViewerAction#onBrowserStateChange(Browser) */ protected void onBrowserStateChange(Browser browser) { if (browser == null) return; switch (browser.getState()) { case Browser.LOADING_DATA: case Browser.LOADING_LEAVES: case Browser.COUNTING_ITEMS: setEnabled(false); break; default: onDisplayChange(browser.getLastSelectedDisplay()); } }
/** * Sets the action enabled depending on the selected type. * * @see TreeViewerAction#onDisplayChange(TreeImageDisplay) */ protected void onDisplayChange(TreeImageDisplay selectedDisplay) { if (nodeType == GROUP || nodeType == EXPERIMENTER) { setEnabled(TreeViewerAgent.isAdministrator()); return; } if (nodeType != EXPERIMENTER) { if (selectedDisplay != null) { Object ho = selectedDisplay.getUserObject(); if (ho instanceof ExperimenterData) { ExperimenterData data = (ExperimenterData) ho; long id = TreeViewerAgent.getUserDetails().getId(); setEnabled(data.getId() == id); return; } /* switch (nodeType) { case TAG: if (ho instanceof TagAnnotationData) { TagAnnotationData tag = (TagAnnotationData) ho; String ns = tag.getNameSpace(); if (TagAnnotationData.INSIGHT_TAGSET_NS.equals(ns)) { setEnabled(model.isUserOwner(ho)); } else setEnabled(false); } //setEnabled(model.isUserOwner(ho)); break; case DATASET: if (ho instanceof DatasetData) { setEnabled(false); } else setEnabled(model.isUserOwner(ho)); break; default: setEnabled(true); } */ setEnabled(true); } } else { Browser browser = model.getSelectedBrowser(); if (browser == null || selectedDisplay == null) { setEnabled(false); return; } Object ho = selectedDisplay.getUserObject(); if (ho instanceof GroupData) { TreeImageDisplay[] selected = browser.getSelectedDisplays(); setEnabled(selected.length == 1); } else setEnabled(false); } }
/** * Sets the action enabled depending on the browser's type and the currently selected node. Sets * the name of the action depending on the <code>DataObject</code> hosted by the currently * selected node. * * @see TreeViewerAction#onDisplayChange(TreeImageDisplay) */ protected void onDisplayChange(TreeImageDisplay selectedDisplay) { if (selectedDisplay == null) { setEnabled(false); return; } Browser b = model.getSelectedBrowser(); if (b != null && b.getSelectedDisplays().length > 1) { setEnabled(false); return; } Object ho = selectedDisplay.getUserObject(); setEnabled(ho instanceof ExperimenterData); }
/** * Enables the action if the browser is not ready. * * @see TreeViewerAction#onBrowserStateChange(Browser) */ protected void onBrowserStateChange(Browser browser) { if (model.isImporting()) { setEnabled(false); return; } if (browser != null) setEnabled(browser.getState() == Browser.READY); }
/** * Sets the action enabled depending on the state of the {@link Browser}. * * @see TreeViewerAction#onBrowserStateChange(Browser) */ protected void onBrowserStateChange(Browser browser) { if (browser == null) { setEnabled(false); return; } switch (browser.getState()) { case Browser.LOADING_DATA: case Browser.LOADING_LEAVES: case Browser.COUNTING_ITEMS: setEnabled(false); break; default: if (browser.getBrowserType() != Browser.ADMIN_EXPLORER) setEnabled(true); else onDisplayChange(browser.getLastSelectedDisplay()); } }
/** * Creates a {@link CreateCmd} command to execute the action. * * @see java.awt.event.ActionListener#actionPerformed(ActionEvent) */ public void actionPerformed(ActionEvent e) { if (nodeType == -1) return; boolean withParent = false; Browser browser = model.getSelectedBrowser(); if (browser != null) { int n = browser.getSelectedDisplays().length; if (n == 1) { TreeImageDisplay node = browser.getLastSelectedDisplay(); Object uo = node.getUserObject(); switch (nodeType) { case DATASET: if (uo instanceof ProjectData) withParent = model.isUserOwner(uo); break; case EXPERIMENTER: if (uo instanceof ExperimenterData) withParent = false; // true; break; case TAG: if (uo instanceof TagAnnotationData) { TagAnnotationData tag = (TagAnnotationData) uo; String ns = tag.getNameSpace(); if (ns != null && TagAnnotationData.INSIGHT_TAGSET_NS.equals(ns)) ; withParent = model.isUserOwner(tag); } /* if (fromTopMenu) withParent = false; else { if (uo instanceof TagAnnotationData) { TagAnnotationData tag = (TagAnnotationData) uo; String ns = tag.getNameSpace(); if (ns != null && TagAnnotationData.INSIGHT_TAGSET_NS.equals( ns)); withParent = model.isUserOwner(tag); } } */ } } } CreateCmd cmd = new CreateCmd(model, nodeType); cmd.setWithParent(withParent); cmd.execute(); }
/** * Reloads the experimenter's data. * * @see java.awt.event.ActionListener#actionPerformed(ActionEvent) */ public void actionPerformed(ActionEvent e) { Browser b = model.getSelectedBrowser(); if (b != null) b.refreshExperimenterData(); }