|
SimpleCommands |
|
package ij.plugin;
import ij.*;
import ij.process.*;
import ij.gui.*;
/** This plugin implements the Plugins/Utilities/Unlock, Image/Rename
and Plugins/Utilities/Search commands. */
public class SimpleCommands implements PlugIn {
static String searchArg;
private static String[] choices = {"Locked Image", "Clipboard", "Undo Buffer"};
private static int choiceIndex = 0;
public void run(String arg) {
if (arg.equals("search"))
search();
if (arg.equals("import"))
IJ.runMacroFile("ij.jar:ImportResultsTable");
else if (arg.equals("rename"))
rename();
else if (arg.equals("reset"))
reset();
else if (arg.equals("about"))
aboutPluginsHelp();
else if (arg.equals("install"))
installation();
}
void reset() {
GenericDialog gd = new GenericDialog("");
gd.addChoice("Reset:", choices, choices[choiceIndex]);
gd.showDialog();
if (gd.wasCanceled()) return;
choiceIndex = gd.getNextChoiceIndex();
switch (choiceIndex) {
case 0: unlock(); break;
case 1: resetClipboard(); break;
case 2: resetUndo(); break;
}
}
void unlock() {
ImagePlus imp = WindowManager.getCurrentImage();
if (imp==null)
{IJ.noImage(); return;}
boolean wasUnlocked = imp.lockSilently();
if (wasUnlocked)
IJ.showStatus("\""+imp.getTitle()+"\" is not locked");
else {
IJ.showStatus("\""+imp.getTitle()+"\" is now unlocked");
IJ.beep();
}
imp.unlock();
}
void resetClipboard() {
ImagePlus.resetClipboard();
IJ.showStatus("Clipboard reset");
}
void resetUndo() {
Undo.setup(Undo.NOTHING, null);
IJ.showStatus("Undo reset");
}
void rename() {
ImagePlus imp = WindowManager.getCurrentImage();
if (imp==null)
{IJ.noImage(); return;}
GenericDialog gd = new GenericDialog("Rename");
gd.addStringField("Title:", imp.getTitle(), 30);
gd.showDialog();
if (gd.wasCanceled())
return;
else
imp.setTitle(gd.getNextString());
}
void search() {
searchArg = IJ.runMacroFile("ij.jar:Search", searchArg);
}
void installation() {
String url = "http://rsb.info.nih.gov/ij/docs/install/";
if (IJ.isMacintosh())
url += "osx.html";
else if (IJ.isWindows())
url += "windows.html";
else if (IJ.isLinux())
url += "linux.html";
IJ.runPlugIn("ij.plugin.BrowserLauncher", url);
}
void aboutPluginsHelp() {
IJ.showMessage("\"About Plugins\" Submenu",
"Plugins packaged as JAR files can add entries\n"+
"to this submenu. There is an example at\n \n"+
"http://rsb.info.nih.gov/ij/plugins/jar-demo.html");
}
}
|
SimpleCommands |
|