public boolean showMessageWithCancel(final String title, final String message) { return IJ.showMessageWithCancel(title, message); }
private void reset() { if (IJ.showMessageWithCancel("Reset Preferences", "Preferences will be reset when ImageJ restarts.")) Prefs.resetPreferences(); }
private void reset() { if (IJ.showMessageWithCancel("Reset Preferences", "Preferences will be reset when ImageJ restarts.")) Prefs.resetPreferences(); }
public boolean checkOKToWriteAllAsSWC(final String prefix) { final List<Path> primaryPaths = Arrays.asList(getPathsStructured()); final int n = primaryPaths.size(); String errorMessage = ""; for (int i = 0; i < n; ++i) { final File swcFile = getSWCFileForIndex(prefix, i); if (swcFile.exists()) errorMessage += swcFile.getAbsolutePath() + "\n"; } if (errorMessage.length() == 0) return true; else { errorMessage = "The following files would be overwritten:\n" + errorMessage; errorMessage += "Continue to save, overwriting these files?"; return IJ.showMessageWithCancel("Confirm overwriting SWC files...", errorMessage); } }
protected void revert() { if (!changes) return; String title = getTitle(); if (path==null || !(new File(path).exists()) || !path.endsWith(title)) { IJ.showStatus("Cannot revert, no file "+getTitle()); return; } if (!IJ.showMessageWithCancel("Revert?", "Revert to saved version of\n\""+getTitle()+"\"?")) return; String directory = path.substring(0, path.length()-title.length()); open(directory, title); undoBuffer = new ArrayList(); }
protected void revert() { if (!changes) return; String title = getTitle(); if (path==null || !(new File(path).exists()) || !path.endsWith(title)) { IJ.showStatus("Cannot revert, no file "+getTitle()); return; } if (!IJ.showMessageWithCancel("Revert?", "Revert to saved version of\n\""+getTitle()+"\"?")) return; String directory = path.substring(0, path.length()-title.length()); open(directory, title); undoBuffer = new ArrayList(); }
private void check() { try { try { IJ2Updater.newCheck(); return; } catch (Throwable t) { t.printStackTrace(); final Class<?> clazz = IJ.getClassLoader().loadClass(OBSOLETE_UPTODATE_CLASS_NAME); final Method check = clazz.getMethod("check"); final Object result = check.invoke(null); if (result != null && "UPDATEABLE".equals(result.toString())) { if (IJ.showMessageWithCancel("Updates available", "There are updates available. Run the updater?")) { run(""); } } } } catch (Throwable t) { t.printStackTrace(); if (IJ.showMessageWithCancel("Updater problem", "There was a problem checking whether everything is up-to-date.\n" + "Start the updater?")) { runRemote(); } } }
public void exportGraphAsSVG() { final SaveDialog sd = new SaveDialog("Export graph as...", "sholl" + suggestedSuffix, ".svg"); if (sd.getFileName() == null) { return; } final File saveFile = new File(sd.getDirectory(), sd.getFileName()); if ((saveFile != null) && saveFile.exists()) { if (!IJ.showMessageWithCancel("Export graph...", "The file " + saveFile.getAbsolutePath() + " already exists.\n" + "Do you want to replace it?")) return; } IJ.showStatus("Exporting graph to " + saveFile.getAbsolutePath()); try { exportChartAsSVG(chart, chartPanel.getBounds(), saveFile); } catch (final IOException ioe) { IJ.error("Saving to " + saveFile.getAbsolutePath() + " failed"); return; } }
public void save(String directory, String fileName ) { String suggestedSaveFilename = fileName+".points"; SaveDialog sd = new SaveDialog( "Save points annotation file as...", directory, suggestedSaveFilename, ".points"); if(sd.getFileName() == null) return; String savePath = sd.getDirectory() + sd.getFileName(); File file = new File(savePath); if ((file != null) && file.exists()) { if (!IJ.showMessageWithCancel( "Save points annotation file", "The file "+ savePath+" already exists.\n"+ "Do you want to replace it?")) return; } IJ.showStatus("Saving point annotations to "+savePath); try { save(new PrintStream(savePath), true); IJ.showStatus("Saved point annotations."); } catch( IOException e ) { IJ.error("Error saving to: "+savePath+"\n"+e); } }
private Content createContent() { final ImagePlus[] imps = file != null ? ContentCreator.getImages(file) : ContentCreator .getImages(image); if (imps == null || imps.length == 0) return null; // check image type final int imaget = imps[0].getType(); if (imaget != ImagePlus.GRAY8 && imaget != ImagePlus.COLOR_256 && imaget != ImagePlus.COLOR_RGB) { // TODO correct message if (IJ.showMessageWithCancel("Convert...", "8-bit or RGB image required. Convert?")) { for (final ImagePlus ip : imps) ContentCreator.convert(ip); } else { return null; } } final Content c = ContentCreator.createContent(name, imps, type, resamplingFactor, timepoint, color, threshold, channels); return c; }
void showMessage(boolean withCancel) { String message; interp.getLeftParen(); String title = getString(); if (interp.nextToken()==',') { interp.getComma(); message = getString(); } else { message = title; title = ""; } interp.getRightParen(); if (withCancel) IJ.showMessageWithCancel(title, message); else IJ.showMessage(title, message); }
void showMessage(boolean withCancel) { String message; interp.getLeftParen(); String title = getString(); if (interp.nextToken()==',') { interp.getComma(); message = getString(); } else { message = title; title = ""; } interp.getRightParen(); if (withCancel) IJ.showMessageWithCancel(title, message); else IJ.showMessage(title, message); }
void applyRGBStack(ImagePlus imp) { int current = imp.getCurrentSlice(); int n = imp.getStackSize(); if (!IJ.showMessageWithCancel("Update Entire Stack?", "Apply brightness and contrast settings\n"+ "to all "+n+" slices in the stack?\n \n"+ "NOTE: There is no Undo for this operation.")) { canceled = true; return; } for (int i=1; i<=n; i++) { if (i!=current) { imp.setSlice(i); ImageProcessor ip = imp.getProcessor(); ip.setMinAndMax(min, max); IJ.showProgress((double)i/n); } } imp.setSlice(current); }
void applyRGBStack(ImagePlus imp) { int current = imp.getCurrentSlice(); int n = imp.getStackSize(); if (!IJ.showMessageWithCancel("Update Entire Stack?", "Apply brightness and contrast settings\n"+ "to all "+n+" slices in the stack?\n \n"+ "NOTE: There is no Undo for this operation.")) { canceled = true; return; } for (int i=1; i<=n; i++) { if (i!=current) { imp.setSlice(i); ImageProcessor ip = imp.getProcessor(); ip.setMinAndMax(min, max); IJ.showProgress((double)i/n); } } imp.setSlice(current); }
/** Read the parameters (during preview or after showing the dialog) */ public boolean dialogItemChanged(GenericDialog gd, AWTEvent e) { tolerance = gd.getNextNumber(); if (tolerance<0) tolerance = 0; dialogOutputType = gd.getNextChoiceIndex(); outputType = previewing ? POINT_SELECTION : dialogOutputType; excludeOnEdges = gd.getNextBoolean(); if (thresholded) useMinThreshold = gd.getNextBoolean(); else useMinThreshold = false; lightBackground = gd.getNextBoolean(); boolean invertedLut = imp.isInvertedLut(); if (useMinThreshold && ((invertedLut&&!lightBackground) || (!invertedLut&&lightBackground))) { if (!thresholdWarningShown) if (!IJ.showMessageWithCancel( "Find Maxima", "\"Above Lower Threshold\" option cannot be used\n"+ "when finding minima (image with light background\n"+ "or image with dark background and inverting LUT).") && !previewing) return false; // if faulty input is not detected during preview, "cancel" quits thresholdWarningShown = true; useMinThreshold = false; ((Checkbox)(checkboxes.elementAt(1))).setState(false); //reset "Above Lower Threshold" checkbox } if (!gd.isPreviewActive()) messageArea.setText(""); // no "nnn Maxima" message when not previewing return (!gd.invalidNumber()); } // public boolean DialogItemChanged
/** Read the parameters (during preview or after showing the dialog) */ public boolean dialogItemChanged(GenericDialog gd, AWTEvent e) { tolerance = gd.getNextNumber(); if (tolerance<0) tolerance = 0; dialogOutputType = gd.getNextChoiceIndex(); outputType = previewing ? POINT_SELECTION : dialogOutputType; excludeOnEdges = gd.getNextBoolean(); if (thresholded) useMinThreshold = gd.getNextBoolean(); else useMinThreshold = false; lightBackground = gd.getNextBoolean(); boolean invertedLut = imp.isInvertedLut(); if (useMinThreshold && ((invertedLut&&!lightBackground) || (!invertedLut&&lightBackground))) { if (!thresholdWarningShown) if (!IJ.showMessageWithCancel( "Find Maxima", "\"Above Lower Threshold\" option cannot be used\n"+ "when finding minima (image with light background\n"+ "or image with dark background and inverting LUT).") && !previewing) return false; // if faulty input is not detected during preview, "cancel" quits thresholdWarningShown = true; useMinThreshold = false; ((Checkbox)(checkboxes.elementAt(1))).setState(false); //reset "Above Lower Threshold" checkbox } if (!gd.isPreviewActive()) messageArea.setText(""); // no "nnn Maxima" message when not previewing return (!gd.invalidNumber()); } // public boolean DialogItemChanged
private void clearOverlay(int first, int last, int rows) { ImagePlus imp = WindowManager.getCurrentImage(); if (imp==null) return; Overlay overlay = imp.getOverlay(); if (overlay==null) return; if (overlay.size()!=rows) return; String name1 = overlay.get(0).getName(); String name2 = overlay.get(overlay.size()-1).getName(); if (!"1".equals(name1) || !(""+rows).equals(name2)) return; int count = last-first+1; if (overlay.size()==count) { if (count==1 || IJ.showMessageWithCancel("ImageJ", "Delete the "+overlay.size()+" element overlay? ")) imp.setOverlay(null); return; } for (int i=0; i<count; i++) overlay.remove(first); for (int i=first; i<overlay.size(); i++) overlay.get(i).setName(""+(i+1)); imp.draw(); }
private void clearOverlay(int first, int last, int rows) { ImagePlus imp = WindowManager.getCurrentImage(); if (imp==null) return; Overlay overlay = imp.getOverlay(); if (overlay==null) return; if (overlay.size()!=rows) return; String name1 = overlay.get(0).getName(); String name2 = overlay.get(overlay.size()-1).getName(); if (!"1".equals(name1) || !(""+rows).equals(name2)) return; int count = last-first+1; if (overlay.size()==count) { if (count==1 || IJ.showMessageWithCancel("ImageJ", "Delete the "+overlay.size()+" element overlay? ")) imp.setOverlay(null); return; } for (int i=0; i<count; i++) overlay.remove(first); for (int i=first; i<overlay.size(); i++) overlay.get(i).setName(""+(i+1)); imp.draw(); }
return; if (ij!=null && changes && isFileInfo && !Interpreter.isBatchMode() && !IJ.isMacro() && !IJ.altKeyDown()) { if (!IJ.showMessageWithCancel("Revert?", "Revert to saved version of\n\""+getTitle()+"\"?")) return;
private void runMacOSX() { long memory = maxMemory() >> 20; int threads = Prefs.getThreads(); final GenericDialog gd = new GenericDialog("Memory " + (IJ.is64Bit() ? "(64-bit)" : "(32-bit)")); gd.addNumericField("Maximum Memory:", memory, 0, 5, "MB"); gd.addNumericField("Parallel Threads for Stacks:", threads, 0, 5, ""); gd.showDialog(); if (gd.wasCanceled()) return; if (gd.invalidNumber()) { IJ.showMessage("Memory", "The number entered was invalid."); return; } memory = (long)gd.getNextNumber(); threads = (int)gd.getNextNumber(); Prefs.setThreads(threads); final int limit = 1700; if (!IJ.is64Bit() && memory > limit) { if (!IJ.showMessageWithCancel("Memory", "Note: setting the memory limit to a " + "value\ngreater than " + limit + "MB on a 32-bit system\n" + "may cause ImageJ to fail to start.")) return; } writeFileMacOSX(memory); }