home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.text;
-
- import javax.swing.Action;
- import javax.swing.ActionMap;
- import javax.swing.text.JTextComponent.KeymapWrapper;
-
- class JTextComponent$KeymapActionMap extends ActionMap {
- private Keymap keymap;
-
- JTextComponent$KeymapActionMap(Keymap var1) {
- this.keymap = var1;
- }
-
- public Object[] keys() {
- Object[] var1 = super.keys();
- Action[] var2 = this.keymap.getBoundActions();
- int var3 = var1 == null ? 0 : var1.length;
- int var4 = var2 == null ? 0 : var2.length;
- boolean var5 = this.keymap.getDefaultAction() != null;
- if (var5) {
- ++var4;
- }
-
- if (var3 == 0) {
- if (var5) {
- Object[] var7 = new Object[var4];
- if (var4 > 1) {
- System.arraycopy(var2, 0, var7, 0, var4 - 1);
- }
-
- var7[var4 - 1] = KeymapWrapper.DefaultActionKey;
- return var7;
- } else {
- return var2;
- }
- } else if (var4 == 0) {
- return var1;
- } else {
- Object[] var6 = new Object[var3 + var4];
- System.arraycopy(var1, 0, var6, 0, var3);
- if (var5) {
- if (var4 > 1) {
- System.arraycopy(var2, 0, var6, var3, var4 - 1);
- }
-
- var6[var3 + var4 - 1] = KeymapWrapper.DefaultActionKey;
- } else {
- System.arraycopy(var2, 0, var6, var3, var4);
- }
-
- return var6;
- }
- }
-
- public int size() {
- Action[] var1 = this.keymap.getBoundActions();
- int var2 = var1 == null ? 0 : var1.length;
- if (this.keymap.getDefaultAction() != null) {
- ++var2;
- }
-
- return super.size() + var2;
- }
-
- public Action get(Object var1) {
- Action var2 = super.get(var1);
- if (var2 == null) {
- if (var1 == KeymapWrapper.DefaultActionKey) {
- var2 = this.keymap.getDefaultAction();
- } else if (var1 instanceof Action) {
- var2 = (Action)var1;
- }
- }
-
- return var2;
- }
- }
-