/** * @deprecated Use {@link #resolveInput(String)} and * {@link #unresolveInput(String)} instead. */ @Deprecated default void setResolved(final String name, final boolean resolved) { if (resolved) resolveInput(name); else unresolveInput(name); }
/** * @deprecated Use {@link #resolveInput(String)} and * {@link #unresolveInput(String)} instead. */ @Deprecated default void setResolved(final String name, final boolean resolved) { if (resolved) resolveInput(name); else unresolveInput(name); }
/** Does any needed processing, after input values have been harvested. */ @SuppressWarnings("unused") default void processResults(final InputPanel<P, W> inputPanel, final Module module) throws ModuleException { final Iterable<ModuleItem<?>> inputs = module.getInfo().inputs(); for (final ModuleItem<?> item : inputs) { final String name = item.getName(); module.resolveInput(name); } } }
/** Does any needed processing, after input values have been harvested. */ @SuppressWarnings("unused") default void processResults(final InputPanel<P, W> inputPanel, final Module module) throws ModuleException { final Iterable<ModuleItem<?>> inputs = module.getInfo().inputs(); for (final ModuleItem<?> item : inputs) { final String name = item.getName(); module.resolveInput(name); } } }
@Override public void process(final Module module) { // assign singleton ResultsTable to single ResultsTable input final String resultsTableInput = getSingleInput(module, ResultsTable.class); if (resultsTableInput != null) { final ResultsTable resultsTable = ResultsTable.getResultsTable(); if (resultsTable == null) return; module.setInput(resultsTableInput, resultsTable); module.resolveInput(resultsTableInput); } } }
@Override public void process(final Module module) { if (logService == null || moduleService == null) return; final ModuleItem<?> loggerInput = moduleService.getSingleInput(module, Logger.class); if (loggerInput == null || !loggerInput.isAutoFill()) return; String loggerName = loggerInput.getLabel(); if(loggerName == null || loggerName.isEmpty()) loggerName = module.getDelegateObject().getClass().getSimpleName(); Logger logger = logService.subLogger(loggerName); final String name = loggerInput.getName(); module.setInput(name, logger); module.resolveInput(name); }
@Override public void process(final Module module) { if (logService == null || moduleService == null) return; final ModuleItem<?> loggerInput = moduleService.getSingleInput(module, Logger.class); if (loggerInput == null || !loggerInput.isAutoFill()) return; String loggerName = loggerInput.getLabel(); if(loggerName == null || loggerName.isEmpty()) loggerName = module.getDelegateObject().getClass().getSimpleName(); Logger logger = logService.subLogger(loggerName); final String name = loggerInput.getName(); module.setInput(name, logger); module.resolveInput(name); }
private <S extends Service> void setServiceValue(final Context context, final Module module, final ModuleItem<S> input) { final S service = context.getService(input.getType()); input.setValue(module, service); module.resolveInput(input.getName()); }
private <S extends Service> void setServiceValue(final Context context, final Module module, final ModuleItem<S> input) { final S service = context.getService(input.getType()); input.setValue(module, service); module.resolveInput(input.getName()); }
@Override public void process(final Module module) { if (uiService == null) return; // no UI service available final UserInterface ui = uiService.getDefaultUI(); if (ui == null) return; // no default UI for (final ModuleItem<?> input : module.getInfo().inputs()) { if (!input.isAutoFill()) continue; // cannot auto-fill this input final Class<?> type = input.getType(); if (type.isAssignableFrom(ui.getClass())) { // input is a compatible UI final String name = input.getName(); module.setInput(name, ui); module.resolveInput(name); } } }
@Override public void process(final Module module) { // add Overlay from imp to single Overlay input final String overlayInput = getSingleInput(module, Overlay.class); if (overlayInput != null) { // TODO: Change this to a LegacyService API call? final ImagePlus imp = WindowManager.getCurrentImage(); if (imp == null) return; Overlay ovl = imp.getOverlay(); if (ovl == null) return; module.setInput(overlayInput, ovl); module.resolveInput(overlayInput); } } }
/** Helper method of {@link #assignInputs}. */ private void assign(final Module module, final Object arg, final ModuleItem<?> item) { if (arg != null) { final Type type = item.getGenericType(); final Object value = convert(arg, type); module.setInput(item.getName(), value); } module.resolveInput(item.getName()); }
@Override public void process(final Module module) { // look for single inputs that can be populated final ModuleItem<?> singleInput = getSingleInput(module, inputType); if (singleInput == null) return; // populate the value of the single input Object value = getValue(); if (value == null) return; String itemName = singleInput.getName(); value = convertService.convert(value, singleInput.getType()); module.setInput(itemName, value); module.resolveInput(itemName); }
@Override public void process(final Module module) { if (displayService == null || moduleService == null) return; final ModuleItem<?> displayInput = moduleService.getSingleInput(module, Display.class); if (displayInput == null || !displayInput.isAutoFill()) return; @SuppressWarnings("unchecked") final Class<? extends Display<?>> displayType = (Class<? extends Display<?>>) displayInput.getType(); final Display<?> activeDisplay = displayService.getActiveDisplay(displayType); if (activeDisplay == null) return; final String name = displayInput.getName(); module.setInput(name, activeDisplay); module.resolveInput(name); }
@Override public void process(final Module module) { if (displayService == null || moduleService == null) return; final ModuleItem<?> displayInput = moduleService.getSingleInput(module, Display.class); if (displayInput == null || !displayInput.isAutoFill()) return; @SuppressWarnings("unchecked") final Class<? extends Display<?>> displayType = (Class<? extends Display<?>>) displayInput.getType(); final Display<?> activeDisplay = displayService.getActiveDisplay(displayType); if (activeDisplay == null) return; final String name = displayInput.getName(); module.setInput(name, activeDisplay); module.resolveInput(name); }
@Override public void process(final Module module) { if (uiService == null) return; final ModuleItem<File> fileInput = getFileInput(module); if (fileInput == null) return; final File file = fileInput.getValue(module); final String style = fileInput.getWidgetStyle(); // show file chooser dialog box final File result = uiService.chooseFile(file, style); if (result == null) { cancel(""); return; } fileInput.setValue(module, result); module.resolveInput(fileInput.getName()); }
@Override public void process(final Module module) { if (uiService == null) return; final ModuleItem<File> fileInput = getFileInput(module); if (fileInput == null) return; final File file = fileInput.getValue(module); final String style = fileInput.getWidgetStyle(); // show file chooser dialog box final File result = uiService.chooseFile(file, style); if (result == null) { cancel(""); return; } fileInput.setValue(module, result); module.resolveInput(fileInput.getName()); }
@Override public void process(final Module module) { if (uiService == null) return; final ModuleItem<File[]> fileInput = getFilesInput(module); if (fileInput == null) return; final File[] files = fileInput.getValue(module); // show file chooser dialog box // TODO decide how to create filter from style attributes // TODO retrieve parent folder?? final File[] result = uiService.chooseFiles(null, files, null, fileInput.getWidgetStyle()); if (result == null) { cancel(""); return; } fileInput.setValue(module, result); module.resolveInput(fileInput.getName()); }
@Override public void process(final Module module) { // assign singleton RoiManager to single RoiManager input final ModuleItem<RoiManager> roiManagerInput = moduleService.getSingleInput( module, RoiManager.class); if (roiManagerInput != null) { RoiManager roiManager; if (roiManagerInput.isRequired()) { roiManager = RoiManager.getRoiManager(); } else { roiManager = RoiManager.getInstance(); } if (roiManager == null) return; module.setInput(roiManagerInput.getName(), roiManager); module.resolveInput(roiManagerInput.getName()); } } }
@Override public void process(final Module module) { for (final ModuleItem<?> input : module.getInfo().inputs()) { if (Stuff.class.isAssignableFrom(input.getType())) { module.setInput(input.getName(), new Stuff()); module.resolveInput(input.getName()); } } }