Package ij.plugin

Source Code of ij.plugin.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);
    }
  }
 
}


TOP

Related Classes of ij.plugin.Commands

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.