01: /*
02: * SimpleKeymap.java
03: *
04: * Created on January 27, 2004, 1:29 AM
05: */
06:
07: package org.netbeans.actions.simple;
08:
09: import javax.swing.Action;
10: import javax.swing.KeyStroke;
11: import javax.swing.text.Keymap;
12:
13: /**
14: *
15: * @author tim
16: */
17: public class SimpleKeymap implements Keymap {
18: private Interpreter interp;
19: private SimpleEngine engine;
20:
21: /** Creates a new instance of SimpleKeymap */
22: SimpleKeymap(SimpleEngine engine, Interpreter interp) {
23: this .interp = interp;
24: this .engine = engine;
25: }
26:
27: public void addActionForKeyStroke(javax.swing.KeyStroke key,
28: javax.swing.Action a) {
29: //XXX probably want to proxy some standard keymap to support this
30: throw new UnsupportedOperationException();
31: }
32:
33: public javax.swing.Action getAction(javax.swing.KeyStroke key) {
34: String action = interp.getActionForKeystroke(key);
35: if (action != null) {
36: return engine.getAction(action);
37: } else {
38: return null;
39: }
40: }
41:
42: public javax.swing.Action[] getBoundActions() {
43: String[] s = interp.getAllActionsBoundToKeystrokes();
44: Action[] result = new Action[s.length];
45: for (int i = 0; i < s.length; i++) {
46: result[i] = engine.getAction(s[i]);
47: }
48: return result;
49: }
50:
51: public javax.swing.KeyStroke[] getBoundKeyStrokes() {
52: return interp.getAllKeystrokes();
53: }
54:
55: public javax.swing.Action getDefaultAction() {
56: return null; //XXX
57: }
58:
59: public javax.swing.KeyStroke[] getKeyStrokesForAction(
60: javax.swing.Action a) {
61: //heck with multiple keystroke support for now
62: return new KeyStroke[] { interp
63: .getKeyStrokeForAction((String) a
64: .getValue(a.ACTION_COMMAND_KEY)) };
65: }
66:
67: public String getName() {
68: return "George";
69: }
70:
71: public Keymap getResolveParent() {
72: return parent;
73: }
74:
75: public boolean isLocallyDefined(javax.swing.KeyStroke key) {
76: return true;
77: }
78:
79: public void removeBindings() {
80: throw new UnsupportedOperationException();
81: }
82:
83: public void removeKeyStrokeBinding(javax.swing.KeyStroke keys) {
84: throw new UnsupportedOperationException();
85: }
86:
87: public void setDefaultAction(javax.swing.Action a) {
88: throw new UnsupportedOperationException();
89: }
90:
91: Keymap parent = null;
92:
93: public void setResolveParent(Keymap parent) {
94: this.parent = parent;
95: }
96:
97: }
|