|
|
- package ij.plugin;
- import ij.plugin.*;
- import ij.*;
- import ij.io.*;
- import com.apple.eawt.*;
- import java.util.Vector;
-
- /** This Mac-specific plugin is designed to handle the “About ImageJ",
- Preferences and “Quit ImageJ" commands in the ImageJ menu, and to
- open files dropped on ImageJ.app and to open double-clicked files
- with creator code "imgJ". With Java 8, the “About ImageJ" and
- “Quit ImageJ” commands work without MacAdapter.
- */
- public class MacAdapter implements PlugIn, ApplicationListener, Runnable {
- static Vector paths = new Vector();
-
- public void run(String arg) {
- Application app = new Application();
- app.setEnabledPreferencesMenu(true);
- app.addApplicationListener(this);
- }
-
- public void handleAbout(ApplicationEvent event) {
- IJ.doCommand("About ImageJ...");
- event.setHandled(true);
- }
-
- public void handleOpenFile(ApplicationEvent event) {
- paths.add(event.getFilename());
- Thread thread = new Thread(this, "Open");
- thread.setPriority(thread.getPriority()-1);
- thread.start();
- }
-
- public void handlePreferences(ApplicationEvent event) {
- IJ.error("The ImageJ preferences are in the Edit>Options menu.");
- }
-
- public void handleQuit(ApplicationEvent event) {
- new Executer("Quit", null); // works with the CommandListener
- //IJ.getInstance().quit();
- }
-
- public void run() {
- if (paths.size() > 0) {
- (new Opener()).openAndAddToRecent((String) paths.remove(0));
- }
- }
-
- public void handleOpenApplication(ApplicationEvent event) {}
- public void handleReOpenApplication(ApplicationEvent event) {}
- public void handlePrintFile(ApplicationEvent event) {}
-
- }
|