home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / text / JTextComponent$DefaultKeymap.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  3.0 KB  |  158 lines

  1. package javax.swing.text;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Hashtable;
  5. import java.util.Vector;
  6. import javax.swing.Action;
  7. import javax.swing.KeyStroke;
  8.  
  9. class JTextComponent$DefaultKeymap implements Keymap {
  10.    // $FF: renamed from: nm java.lang.String
  11.    String field_0;
  12.    Keymap parent;
  13.    Hashtable bindings;
  14.    Action defaultAction;
  15.  
  16.    JTextComponent$DefaultKeymap(String var1, Keymap var2) {
  17.       this.field_0 = var1;
  18.       this.parent = var2;
  19.       this.bindings = new Hashtable();
  20.    }
  21.  
  22.    public Action getDefaultAction() {
  23.       if (this.defaultAction != null) {
  24.          return this.defaultAction;
  25.       } else {
  26.          return this.parent != null ? this.parent.getDefaultAction() : null;
  27.       }
  28.    }
  29.  
  30.    public void setDefaultAction(Action var1) {
  31.       this.defaultAction = var1;
  32.    }
  33.  
  34.    public String getName() {
  35.       return this.field_0;
  36.    }
  37.  
  38.    public Action getAction(KeyStroke var1) {
  39.       Action var2 = (Action)this.bindings.get(var1);
  40.       if (var2 == null && this.parent != null) {
  41.          var2 = this.parent.getAction(var1);
  42.       }
  43.  
  44.       return var2;
  45.    }
  46.  
  47.    public KeyStroke[] getBoundKeyStrokes() {
  48.       KeyStroke[] var1 = new KeyStroke[this.bindings.size()];
  49.       int var2 = 0;
  50.  
  51.       for(Enumeration var3 = this.bindings.keys(); var3.hasMoreElements(); var1[var2++] = (KeyStroke)var3.nextElement()) {
  52.       }
  53.  
  54.       return var1;
  55.    }
  56.  
  57.    public Action[] getBoundActions() {
  58.       Action[] var1 = new Action[this.bindings.size()];
  59.       int var2 = 0;
  60.  
  61.       for(Enumeration var3 = this.bindings.elements(); var3.hasMoreElements(); var1[var2++] = (Action)var3.nextElement()) {
  62.       }
  63.  
  64.       return var1;
  65.    }
  66.  
  67.    public KeyStroke[] getKeyStrokesForAction(Action var1) {
  68.       if (var1 == null) {
  69.          return null;
  70.       } else {
  71.          KeyStroke[] var2 = null;
  72.          Vector var3 = null;
  73.          Enumeration var4 = this.bindings.keys();
  74.  
  75.          while(var4.hasMoreElements()) {
  76.             Object var5 = var4.nextElement();
  77.             if (this.bindings.get(var5) == var1) {
  78.                if (var3 == null) {
  79.                   var3 = new Vector();
  80.                }
  81.  
  82.                var3.addElement(var5);
  83.             }
  84.          }
  85.  
  86.          if (this.parent != null) {
  87.             KeyStroke[] var9 = this.parent.getKeyStrokesForAction(var1);
  88.             if (var9 != null) {
  89.                int var6 = 0;
  90.  
  91.                for(int var7 = var9.length - 1; var7 >= 0; --var7) {
  92.                   if (this.isLocallyDefined(var9[var7])) {
  93.                      var9[var7] = null;
  94.                      ++var6;
  95.                   }
  96.                }
  97.  
  98.                if (var6 > 0 && var6 < var9.length) {
  99.                   if (var3 == null) {
  100.                      var3 = new Vector();
  101.                   }
  102.  
  103.                   for(int var8 = var9.length - 1; var8 >= 0; --var8) {
  104.                      if (var9[var8] != null) {
  105.                         var3.addElement(var9[var8]);
  106.                      }
  107.                   }
  108.                } else if (var6 == 0) {
  109.                   if (var3 == null) {
  110.                      var2 = var9;
  111.                   } else {
  112.                      var2 = new KeyStroke[var3.size() + var9.length];
  113.                      var3.copyInto(var2);
  114.                      System.arraycopy(var9, 0, var2, var3.size(), var9.length);
  115.                      var3 = null;
  116.                   }
  117.                }
  118.             }
  119.          }
  120.  
  121.          if (var3 != null) {
  122.             var2 = new KeyStroke[var3.size()];
  123.             var3.copyInto(var2);
  124.          }
  125.  
  126.          return var2;
  127.       }
  128.    }
  129.  
  130.    public boolean isLocallyDefined(KeyStroke var1) {
  131.       return this.bindings.containsKey(var1);
  132.    }
  133.  
  134.    public void addActionForKeyStroke(KeyStroke var1, Action var2) {
  135.       this.bindings.put(var1, var2);
  136.    }
  137.  
  138.    public void removeKeyStrokeBinding(KeyStroke var1) {
  139.       this.bindings.remove(var1);
  140.    }
  141.  
  142.    public void removeBindings() {
  143.       this.bindings.clear();
  144.    }
  145.  
  146.    public Keymap getResolveParent() {
  147.       return this.parent;
  148.    }
  149.  
  150.    public void setResolveParent(Keymap var1) {
  151.       this.parent = var1;
  152.    }
  153.  
  154.    public String toString() {
  155.       return "Keymap[" + this.field_0 + "]" + this.bindings;
  156.    }
  157. }
  158.