01: /*
02: * ===================================================================
03: * Copyright (c) 2003-2005, Micheal S. Hewett.
04: *
05: * The author can be contacted via email at
06: * "mike@hewetthome.net"
07: *
08: * ===================================================================
09: *
10: * RunLoadfileTask.java
11: *
12: * -------------------------------------------------------------------
13: * User: hewett
14: * Date: Dec 13, 2005
15: * Time: 8:55:55 PM
16: * -------------------------------------------------------------------
17: */
18:
19: package org.jatha.display.action;
20:
21: import org.jatha.Jatha;
22: import org.jatha.display.Listener;
23:
24: import javax.swing.*;
25: import java.awt.event.ActionEvent;
26: import java.io.File;
27:
28: /**
29: * RunAproposTask executes the "(apropos "")" command.
30: */
31: public class RunLoadFileTask extends ApplicationAction {
32: protected Listener f_listener = null;
33: protected JFileChooser f_fileChooser = new JFileChooser();
34:
35: public RunLoadFileTask(Jatha mainApp, Listener listener,
36: String name, Icon icon, String tooltip,
37: KeyStroke acceleratorKey, Integer mnemonic) {
38: super (mainApp, name, icon, tooltip, acceleratorKey, mnemonic);
39:
40: f_listener = listener;
41: f_fileChooser.setDialogTitle("Select file to load into LISP");
42: f_fileChooser.setMultiSelectionEnabled(false);
43: }
44:
45: public void actionPerformed(ActionEvent e) {
46: String filename = null;
47:
48: if (f_fileChooser.showOpenDialog(f_listener) == JFileChooser.APPROVE_OPTION) {
49: File file = f_fileChooser.getSelectedFile();
50: filename = file.getAbsolutePath();
51: f_listener.eval("(load \"" + filename + "\")");
52: }
53: }
54:
55: }
|