public void removeSeries(MediaSeriesGroup seriesGroup) { if (seriesGroup != null) { // remove first series in UI (Viewer using this series) firePropertyChange( new ObservableEvent(ObservableEvent.BasicAction.REMOVE, AbstractFileModel.this, null, seriesGroup)); // remove in the data model MediaSeriesGroup topGroup = getParent(seriesGroup, AbstractFileModel.group); removeHierarchyNode(topGroup, seriesGroup); seriesGroup.dispose(); LOGGER.info("Remove Series/Image: {}", seriesGroup); //$NON-NLS-1$ } }
public void removeTopGroup(MediaSeriesGroup topGroup) { if (topGroup != null) { firePropertyChange( new ObservableEvent(ObservableEvent.BasicAction.REMOVE, AbstractFileModel.this, null, topGroup)); Collection<MediaSeriesGroup> seriesList = getChildren(topGroup); for (Iterator<MediaSeriesGroup> it = seriesList.iterator(); it.hasNext();) { it.next().dispose(); } removeHierarchyNode(MediaSeriesGroupNode.rootNode, topGroup); LOGGER.info("Remove Group: {}", topGroup); //$NON-NLS-1$ } }
firePropertyChange(new ObservableEvent(ObservableEvent.BasicAction.SELECT, dataModel, null, dataModel)); if (opt.isSet("all")) { //$NON-NLS-1$ for (MediaSeriesGroup g : model.getSuccessors(MediaSeriesGroupNode.rootNode)) { dataModel.removeTopGroup(g); dataModel.removeTopGroup(getHierarchyNode(MediaSeriesGroupNode.rootNode, gUID)); for (String uid : iargs) { for (MediaSeriesGroup topGroup : model.getSuccessors(MediaSeriesGroupNode.rootNode)) { MediaSeriesGroup s = getHierarchyNode(topGroup, uid); if (s != null) { removeSeries(s); break;
@Override public void get(String[] argv) throws IOException { final String[] usage = { "Load images remotely or locally", "Usage: image:get ([-f file]... [-u url]...)", //$NON-NLS-1$ //$NON-NLS-2$ " -f --file=FILE open an image from a file", // $NON-NLS-1$ //$NON-NLS-1$ " -u --url=URL open an image from an URL", //$NON-NLS-1$ " -? --help show help" }; // $NON-NLS-1$ //$NON-NLS-1$ final Option opt = Options.compile(usage).parse(argv); final List<String> fargs = opt.getList("file"); //$NON-NLS-1$ final List<String> uargs = opt.getList("url"); //$NON-NLS-1$ if (opt.isSet("help") || (fargs.isEmpty() && uargs.isEmpty())) { //$NON-NLS-1$ opt.usage(); return; } GuiExecutor.instance().execute(() -> { AbstractFileModel dataModel = ViewerPluginBuilder.DefaultDataModel; dataModel.firePropertyChange( new ObservableEvent(ObservableEvent.BasicAction.SELECT, dataModel, null, dataModel)); if (opt.isSet("file")) { //$NON-NLS-1$ fargs.stream().map(File::new).filter(File::isFile) .forEach(f -> ViewerPluginBuilder.openSequenceInDefaultPlugin(f, true, true)); } if (opt.isSet("url")) { //$NON-NLS-1$ uargs.stream().map(this::getFile) .forEach(f -> ViewerPluginBuilder.openSequenceInDefaultPlugin(f, true, true)); } }); }
public void dispose() { synchronized (model) { for (Iterator<MediaSeriesGroup> iterator = this.getChildren(MediaSeriesGroupNode.rootNode).iterator(); iterator.hasNext();) { iterator.next().dispose(); } } model.clear(); }