/** For the YesNoCancelDialog dialogs to be parented properly. */ static public YesNoCancelDialog makeYesNoCancelDialog(String title, String msg) { Frame f = (null == frame ? IJ.getInstance() : (java.awt.Frame)frame); return new YesNoCancelDialog(f, title, msg); } /** For the YesNoDialog dialogs to be parented properly. */
private boolean upgradeAreaListTable() throws Exception { ResultSet r = connection.createStatement().executeQuery("SELECT column_name FROM information_schema.columns WHERE table_name='ab_area_paths' AND column_name='fill_paint'"); if (!r.next()) { YesNoCancelDialog yn = new YesNoCancelDialog(IJ.getInstance(), "Upgrade", "Need to upgrade table ab_area_paths.\nThe column 'fill_paint' will be added.\nProceed?"); if (!yn.yesPressed()) { r.close(); return false; } connection.createStatement().executeUpdate("ALTER TABLE ab_area_paths ADD fill_paint BOOLEAN"); connection.createStatement().executeUpdate("ALTER TABLE ab_area_paths ALTER COLUMN fill_paint SET DEFAULT TRUE"); } r.close(); return true; }
private boolean upgradeDisplaysTable() throws Exception { ResultSet r = connection.prepareStatement("SELECT column_name FROM information_schema.columns WHERE table_name='ab_displays' AND column_name='scroll_step'").executeQuery(); if (!r.next()) { YesNoCancelDialog yn = new YesNoCancelDialog(IJ.getInstance(), "Upgrade", "Need to upgrade table ab_displays.\nThe column 'scroll_step' will be added.\nProceed?"); if (!yn.yesPressed()) { r.close(); return false; } connection.prepareStatement("ALTER TABLE ab_displays ADD scroll_step INT").execute(); connection.prepareStatement("ALTER TABLE ab_displays ALTER COLUMN scroll_step SET DEFAULT 1").execute(); // in two rows, so that 7.4.* is still supported. } r.close(); return true; }
private boolean upgradeLayerSetTable() throws Exception { final Statement st = connection.createStatement(); ResultSet r = st.executeQuery("SELECT column_name FROM information_schema.columns WHERE table_name='ab_layer_sets' AND column_name='snapshots_enabled'"); if (!r.next()) { YesNoCancelDialog yn = new YesNoCancelDialog(IJ.getInstance(), "Upgrade", "Need to upgrade table ab_layer_sets.\nThe column 'snapshots_enabled' will be added.\nProceed?"); if (!yn.yesPressed()) { r.close(); return false; } st.execute("ALTER TABLE ab_layer_sets ADD snapshots_enabled BOOLEAN"); st.execute("ALTER TABLE ab_layer_sets ALTER COLUMN snapshots_enabled SET DEFAULT true"); } r.close(); return true; } private boolean upgradeDisplaysTable() throws Exception {
private static boolean check(final JFrame frame, final List<FilterWrapper> wrappers) { if (!wrappers.isEmpty()) { final String s = sanityCheck(wrappers); return 0 == s.length() || new YesNoCancelDialog(frame, "WARNING", s + "\nContinue?").yesPressed(); } return true; }
private boolean upgradePatchesTable() throws Exception { Statement st = connection.createStatement(); ResultSet r = st.executeQuery("SELECT column_name FROM information_schema.columns WHERE table_name='ab_patches' AND column_name='min'"); if (!r.next()) { YesNoCancelDialog yn = new YesNoCancelDialog(IJ.getInstance(), "Upgrade", "Need to upgrade the table ab_patches.\nThe columns 'min' and 'max' will be added.\nProceed?"); if (!yn.yesPressed()) { r.close(); return false; } st.executeUpdate("ALTER TABLE ab_patches ADD min DOUBLE PRECISION"); st.executeUpdate("ALTER TABLE ab_patches ALTER COLUMN min SET DEFAULT -1"); st.executeUpdate("ALTER TABLE ab_patches ADD max DOUBLE PRECISION"); st.executeUpdate("ALTER TABLE ab_patches ALTER COLUMN max SET DEFAULT -1"); } r.close(); return true; }
try { return new TaskOnEDT<Boolean>(new Callable<Boolean>() { @Override public Boolean call() { final YesNoCancelDialog dialog = new YesNoCancelDialog(IJ.getInstance(), "Execute?", msg); if (dialog.yesPressed()) { return true; } return false; }}).get(); } catch (final Throwable t) { IJError.print(t); return false; } }
public static File promptForFile(final String title, final String suggestion, final String ending) { final SaveDialog sd = new SaveDialog(title, suggestion, ending); final String dir = sd.getDirectory(); if (null == dir) return null; String filename = sd.getFileName(); if (!filename.toLowerCase().endsWith(ending)) filename += ending; final File file = new File(dir, filename); // check if file exists if (!IJ.isMacOSX()) { if (file.exists()) { final YesNoCancelDialog yn = new YesNoCancelDialog(IJ.getInstance(), "Overwrite?", "File " + filename + " exists!\nOverwrite?"); if (!yn.yesPressed()) return null; } } return file; }
public void closeSafely() { if( plugin.unsaved ) { YesNoCancelDialog d = new YesNoCancelDialog( IJ.getInstance(), "Really quit?", "There are unsaved changes. Do you really want to quit?" ); if( ! d.yesPressed() ) return; } plugin.stopFineTuneThreads(); dispose(); }
double getBoolean() { interp.getLeftParen(); String prompt = getString(); String yesButton = " Yes "; String noButton = " No "; if (interp.nextToken()==',') { yesButton = getNextString(); noButton = getNextString(); } interp.getRightParen(); String title = interp.macroName!=null?interp.macroName:""; if (title.endsWith(" Options")) title = title.substring(0, title.length()-8); YesNoCancelDialog d = new YesNoCancelDialog(IJ.getInstance(), title, prompt, yesButton, noButton); if (d.cancelPressed()) { interp.done = true; return 0.0; } else if (d.yesPressed()) return 1.0; else return 0.0; }
double getBoolean() { interp.getLeftParen(); String prompt = getString(); String yesButton = " Yes "; String noButton = " No "; if (interp.nextToken()==',') { yesButton = getNextString(); noButton = getNextString(); } interp.getRightParen(); String title = interp.macroName!=null?interp.macroName:""; if (title.endsWith(" Options")) title = title.substring(0, title.length()-8); YesNoCancelDialog d = new YesNoCancelDialog(IJ.getInstance(), title, prompt, yesButton, noButton); if (d.cancelPressed()) { interp.done = true; return 0.0; } else if (d.yesPressed()) return 1.0; else return 0.0; }
int setupDialog(ImagePlus imp, int flags) { int stackSize = imp.getStackSize(); if (stackSize>1) { String macroOptions = Macro.getOptions(); if (macroOptions!=null) { if (macroOptions.indexOf("stack ")>=0) return flags+PlugInFilter.DOES_STACKS; else return flags; } YesNoCancelDialog d = new YesNoCancelDialog(IJ.getInstance(), "Histogram", "Include all "+stackSize+" images?"); if (d.cancelPressed()) return PlugInFilter.DONE; else if (d.yesPressed()) { if (Recorder.record) Recorder.recordOption("stack"); return flags+PlugInFilter.DOES_STACKS; } if (Recorder.record) Recorder.recordOption("slice"); } return flags; }
void delete(int i) { String name = points.get(i).getName(); YesNoCancelDialog d = new YesNoCancelDialog( IJ.getInstance(), "Really delete?", "Do you really want to delete the point \""+name+"\"?" ); if( d.yesPressed() ) { points.delete(i); dialog.recreatePointsPanel(); dialog.pack(); } }
boolean saveContents() { int lineCount = textPanel.getLineCount(); if (!textPanel.unsavedLines) lineCount = 0; ImageJ ij = IJ.getInstance(); boolean macro = IJ.macroRunning() || Interpreter.isBatchMode(); boolean isResults = getTitle().contains("Results"); if (lineCount>0 && !macro && ij!=null && !ij.quitting() && isResults) { YesNoCancelDialog d = new YesNoCancelDialog(this, getTitle(), "Save "+lineCount+" measurements?"); if (d.cancelPressed()) return false; else if (d.yesPressed()) { if (!textPanel.saveAs("")) return false; } } textPanel.rt.reset(); return true; }
protected void exitRequested() { assert SwingUtilities.isEventDispatchThread(); // FIXME: check that everything is saved... if (plugin.pathsUnsaved()) { final YesNoCancelDialog d = new YesNoCancelDialog(IJ.getInstance(), "Really quit?", "There are unsaved paths. Do you really want to quit?"); if (!d.yesPressed()) return; } plugin.cancelSearch(true); plugin.notifyListeners(new SNTEvent(SNTEvent.QUIT)); prefs.savePluginPrefs(); pw.dispose(); fw.dispose(); dispose(); plugin.closeAndReset(); }
boolean saveContents() { int lineCount = textPanel.getLineCount(); if (!textPanel.unsavedLines) lineCount = 0; ImageJ ij = IJ.getInstance(); boolean macro = IJ.macroRunning() || Interpreter.isBatchMode(); boolean isResults = getTitle().contains("Results"); if (lineCount>0 && !macro && ij!=null && !ij.quitting() && isResults) { YesNoCancelDialog d = new YesNoCancelDialog(this, getTitle(), "Save "+lineCount+" measurements?"); if (d.cancelPressed()) return false; else if (d.yesPressed()) { if (!textPanel.saveAs("")) return false; } } textPanel.rt.reset(); return true; }
/** Overrides close() in PlugInFrame. */ public void close() { boolean okayToClose = true; ImageJ ij = IJ.getInstance(); if (!getTitle().equals("Errors") && changes && !IJ.isMacro() && ij!=null && !ij.quittingViaMacro()) { String msg = "Save changes to \"" + getTitle() + "\"?"; YesNoCancelDialog d = new YesNoCancelDialog(this, "Editor", msg); if (d.cancelPressed()) okayToClose = false; else if (d.yesPressed()) save(); } if (okayToClose) { //setVisible(false); dispose(); WindowManager.removeWindow(this); nWindows--; instance = null; changes = false; if (functionFinder!=null) functionFinder.close(); } }
void apply(ImagePlus imp) { if (imp.getProcessor().getMinThreshold()==ImageProcessor.NO_THRESHOLD) { IJ.error("Thresholder", "Threshold is not set"); return; } try { if (imp.getBitDepth()==32) { YesNoCancelDialog d = new YesNoCancelDialog(null, "Thresholder", "Convert to 8-bit mask or set background pixels to NaN?", "Convert to Mask", "Set to NaN"); if (d.cancelPressed()) return; else if (!d.yesPressed()) { Recorder.recordInMacros = true; IJ.run("NaN Background"); Recorder.recordInMacros = false; return; } } runThresholdCommand(); } catch (Exception e) {} }
/** Overrides close() in PlugInFrame. */ public void close() { boolean okayToClose = true; ImageJ ij = IJ.getInstance(); if (!getTitle().equals("Errors") && changes && !IJ.isMacro() && ij!=null && !ij.quittingViaMacro()) { String msg = "Save changes to \"" + getTitle() + "\"?"; YesNoCancelDialog d = new YesNoCancelDialog(this, "Editor", msg); if (d.cancelPressed()) okayToClose = false; else if (d.yesPressed()) save(); } if (okayToClose) { //setVisible(false); dispose(); WindowManager.removeWindow(this); nWindows--; instance = null; changes = false; if (functionFinder!=null) functionFinder.close(); } }
void apply(ImagePlus imp) { if (imp.getProcessor().getMinThreshold()==ImageProcessor.NO_THRESHOLD) { IJ.error("Thresholder", "Threshold is not set"); return; } try { if (imp.getBitDepth()==32) { YesNoCancelDialog d = new YesNoCancelDialog(null, "Thresholder", "Convert to 8-bit mask or set background pixels to NaN?", "Convert to Mask", "Set to NaN"); if (d.cancelPressed()) return; else if (!d.yesPressed()) { Recorder.recordInMacros = true; IJ.run("NaN Background"); Recorder.recordInMacros = false; return; } } runThresholdCommand(); } catch (Exception e) {} }