|
Commands |
|
package ij.plugin; import ij.*; import ij.process.*; import ij.gui.*; import ij.io.*; import ij.plugin.frame.*; import ij.text.TextWindow; import ij.macro.Interpreter; import java.awt.Frame; import java.io.File; import java.applet.Applet; /** Runs File and Window menu commands. */ public class Commands implements PlugIn { public void run(String cmd) { if (cmd.equals("new")) new NewImage(); else if (cmd.equals("open")) { if (Prefs.useJFileChooser && !IJ.macroRunning()) new Opener().openMultiple(); else new Opener().open(); } else if (cmd.equals("close")) close(); else if (cmd.equals("save")) save(); else if (cmd.equals("ij")) { ImageJ ij = IJ.getInstance(); if (ij!=null) ij.toFront(); } else if (cmd.equals("tab")) WindowManager.putBehind(); else if (cmd.equals("quit")) { ImageJ ij = IJ.getInstance(); if (ij!=null) ij.quit(); } else if (cmd.equals("revert")) revert(); else if (cmd.equals("undo")) undo(); else if (cmd.equals("startup")) openStartupMacros(); } void revert() { ImagePlus imp = WindowManager.getCurrentImage(); if (imp!=null) imp.revert(); else IJ.noImage(); } void save() { ImagePlus imp = WindowManager.getCurrentImage(); if (imp!=null) new FileSaver(imp).save(); else IJ.noImage(); } void undo() { ImagePlus imp = WindowManager.getCurrentImage(); if (imp!=null) Undo.undo(); else IJ.noImage(); } void close() { ImagePlus imp = WindowManager.getCurrentImage(); Frame frame = WindowManager.getFrontWindow(); if (frame==null || (Interpreter.isBatchMode() && frame instanceof ImageWindow)) closeImage(imp); else if (frame instanceof PlugInFrame) ((PlugInFrame)frame).close(); else if (frame instanceof TextWindow) ((TextWindow)frame).close(); else closeImage(imp); } void closeImage(ImagePlus imp) { if (imp==null) { IJ.noImage(); return; } imp.close(); if (Recorder.record) { Recorder.record("close"); Recorder.setCommand(null); // don't record run("Close") } } // Plugins>Macros>Open Startup Macros command void openStartupMacros() { Applet applet = IJ.getApplet(); if (applet!=null) { IJ.run("URL...", "url=http://rsb.info.nih.gov/ij/applet/StartupMacros.txt"); } else { String path = IJ.getDirectory("macros")+"/StartupMacros.txt"; File f = new File(path); if (!f.exists()) IJ.error("\"StartupMacros.txt\" not found in ImageJ/macros/"); else IJ.open(path); } } }
|
Commands |
|