home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / text / JTextComponent$AccessibleJTextComponent.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  5.8 KB  |  247 lines

  1. package com.sun.java.swing.text;
  2.  
  3. import com.sun.java.accessibility.AccessibleContext;
  4. import com.sun.java.accessibility.AccessibleRole;
  5. import com.sun.java.accessibility.AccessibleState;
  6. import com.sun.java.accessibility.AccessibleStateSet;
  7. import com.sun.java.accessibility.AccessibleText;
  8. import com.sun.java.swing.JComponent;
  9. import com.sun.java.swing.event.CaretEvent;
  10. import com.sun.java.swing.event.CaretListener;
  11. import com.sun.java.swing.event.DocumentEvent;
  12. import com.sun.java.swing.event.DocumentListener;
  13. import java.awt.Point;
  14. import java.awt.Rectangle;
  15. import java.text.BreakIterator;
  16.  
  17. public class JTextComponent$AccessibleJTextComponent extends JComponent.AccessibleJComponent implements AccessibleText, CaretListener, DocumentListener {
  18.    // $FF: synthetic field
  19.    private final JTextComponent this$0;
  20.    int caretPos;
  21.  
  22.    public JTextComponent$AccessibleJTextComponent(JTextComponent var1) {
  23.       super(var1);
  24.       this.this$0 = var1;
  25.       this.this$0 = var1;
  26.       Document var2 = var1.getDocument();
  27.       if (var2 != null) {
  28.          var2.addDocumentListener(this);
  29.       }
  30.  
  31.       var1.addCaretListener(this);
  32.       this.caretPos = this.getCaretPosition();
  33.    }
  34.  
  35.    public void caretUpdate(CaretEvent var1) {
  36.       int var2 = var1.getDot();
  37.       int var3 = var1.getMark();
  38.       if (this.caretPos != var2) {
  39.          ((AccessibleContext)this).firePropertyChange("AccessibleCaret", new Integer(this.caretPos), new Integer(var2));
  40.          this.caretPos = var2;
  41.       }
  42.  
  43.       if (var3 != var2) {
  44.          ((AccessibleContext)this).firePropertyChange("AccessibleSelection", (Object)null, this.getSelectedText());
  45.       }
  46.  
  47.    }
  48.  
  49.    public void insertUpdate(DocumentEvent var1) {
  50.       Caret var2 = this.this$0.getCaret();
  51.       Integer var3 = new Integer(var2.getDot());
  52.       ((AccessibleContext)this).firePropertyChange("AccessibleText", (Object)null, var3);
  53.    }
  54.  
  55.    public void removeUpdate(DocumentEvent var1) {
  56.       Caret var2 = this.this$0.getCaret();
  57.       Integer var3 = new Integer(var2.getDot());
  58.       ((AccessibleContext)this).firePropertyChange("AccessibleText", (Object)null, var3);
  59.    }
  60.  
  61.    public void changedUpdate(DocumentEvent var1) {
  62.       Caret var2 = this.this$0.getCaret();
  63.       Integer var3 = new Integer(var2.getDot());
  64.       ((AccessibleContext)this).firePropertyChange("AccessibleText", (Object)null, var3);
  65.    }
  66.  
  67.    public AccessibleStateSet getAccessibleStateSet() {
  68.       AccessibleStateSet var1 = super.getAccessibleStateSet();
  69.       if (this.this$0.isEditable()) {
  70.          var1.add(AccessibleState.EDITABLE);
  71.       }
  72.  
  73.       return var1;
  74.    }
  75.  
  76.    public AccessibleRole getAccessibleRole() {
  77.       return AccessibleRole.TEXT;
  78.    }
  79.  
  80.    public AccessibleText getAccessibleText() {
  81.       return this;
  82.    }
  83.  
  84.    public int getIndexAtPoint(Point var1) {
  85.       return var1 == null ? -1 : this.this$0.viewToModel(var1);
  86.    }
  87.  
  88.    public Rectangle getCharacterBounds(int var1) {
  89.       if (var1 >= 0 && var1 <= JTextComponent.access$0(this.this$0).getLength() - 1) {
  90.          Rectangle var2;
  91.          try {
  92.             var2 = this.this$0.modelToView(var1);
  93.          } catch (BadLocationException var3) {
  94.             var2 = null;
  95.          }
  96.  
  97.          return var2;
  98.       } else {
  99.          return null;
  100.       }
  101.    }
  102.  
  103.    public int getCharCount() {
  104.       return JTextComponent.access$0(this.this$0).getLength();
  105.    }
  106.  
  107.    public int getCaretPosition() {
  108.       return this.this$0.getCaretPosition();
  109.    }
  110.  
  111.    public AttributeSet getCharacterAttribute(int var1) {
  112.       Object var2 = null;
  113.  
  114.       int var3;
  115.       for(var4 = JTextComponent.access$0(this.this$0).getDefaultRootElement(); !var4.isLeaf(); var4 = var4.getElement(var3)) {
  116.          var3 = var4.getElementIndex(var1);
  117.       }
  118.  
  119.       return var4.getAttributes();
  120.    }
  121.  
  122.    public int getSelectionStart() {
  123.       return this.this$0.getSelectionStart();
  124.    }
  125.  
  126.    public int getSelectionEnd() {
  127.       return this.this$0.getSelectionEnd();
  128.    }
  129.  
  130.    public String getSelectedText() {
  131.       return this.this$0.getSelectedText();
  132.    }
  133.  
  134.    public String getAtIndex(int var1, int var2) {
  135.       if (var2 >= 0 && var2 <= JTextComponent.access$0(this.this$0).getLength() - 1) {
  136.          switch (var1) {
  137.             case 1:
  138.                try {
  139.                   return JTextComponent.access$0(this.this$0).getText(var2, 1);
  140.                } catch (BadLocationException var8) {
  141.                   return null;
  142.                }
  143.             case 2:
  144.                try {
  145.                   String var9 = JTextComponent.access$0(this.this$0).getText(0, JTextComponent.access$0(this.this$0).getLength());
  146.                   BreakIterator var10 = BreakIterator.getWordInstance();
  147.                   var10.setText(var9);
  148.                   int var11 = var10.following(var2);
  149.                   return var9.substring(var10.previous(), var11);
  150.                } catch (BadLocationException var7) {
  151.                   return null;
  152.                }
  153.             case 3:
  154.                try {
  155.                   String var3 = JTextComponent.access$0(this.this$0).getText(0, JTextComponent.access$0(this.this$0).getLength());
  156.                   BreakIterator var4 = BreakIterator.getSentenceInstance();
  157.                   var4.setText(var3);
  158.                   int var5 = var4.following(var2);
  159.                   return var3.substring(var4.previous(), var5);
  160.                } catch (BadLocationException var6) {
  161.                   return null;
  162.                }
  163.             default:
  164.                return null;
  165.          }
  166.       } else {
  167.          return null;
  168.       }
  169.    }
  170.  
  171.    public String getAfterIndex(int var1, int var2) {
  172.       if (var2 >= 0 && var2 <= JTextComponent.access$0(this.this$0).getLength() - 1) {
  173.          switch (var1) {
  174.             case 1:
  175.                try {
  176.                   return JTextComponent.access$0(this.this$0).getText(var2 + 1, 1);
  177.                } catch (BadLocationException var8) {
  178.                   return null;
  179.                }
  180.             case 2:
  181.                try {
  182.                   String var9 = JTextComponent.access$0(this.this$0).getText(0, JTextComponent.access$0(this.this$0).getLength());
  183.                   BreakIterator var10 = BreakIterator.getWordInstance();
  184.                   var10.setText(var9);
  185.                   int var11 = var10.following(var2);
  186.                   return var9.substring(var11, var10.following(var11));
  187.                } catch (BadLocationException var7) {
  188.                   return null;
  189.                }
  190.             case 3:
  191.                try {
  192.                   String var3 = JTextComponent.access$0(this.this$0).getText(0, JTextComponent.access$0(this.this$0).getLength());
  193.                   BreakIterator var4 = BreakIterator.getSentenceInstance();
  194.                   var4.setText(var3);
  195.                   int var5 = var4.following(var2);
  196.                   return var3.substring(var5, var4.following(var5));
  197.                } catch (BadLocationException var6) {
  198.                   return null;
  199.                }
  200.             default:
  201.                return null;
  202.          }
  203.       } else {
  204.          return null;
  205.       }
  206.    }
  207.  
  208.    public String getBeforeIndex(int var1, int var2) {
  209.       if (var2 >= 0 && var2 <= JTextComponent.access$0(this.this$0).getLength() - 1) {
  210.          switch (var1) {
  211.             case 1:
  212.                try {
  213.                   return JTextComponent.access$0(this.this$0).getText(var2 - 1, 1);
  214.                } catch (BadLocationException var8) {
  215.                   return null;
  216.                }
  217.             case 2:
  218.                try {
  219.                   String var9 = JTextComponent.access$0(this.this$0).getText(0, JTextComponent.access$0(this.this$0).getLength());
  220.                   BreakIterator var10 = BreakIterator.getWordInstance();
  221.                   var10.setText(var9);
  222.                   var10.next(var2);
  223.                   int var11 = var10.previous();
  224.                   return var9.substring(var10.previous(), var11);
  225.                } catch (BadLocationException var7) {
  226.                   return null;
  227.                }
  228.             case 3:
  229.                try {
  230.                   String var3 = JTextComponent.access$0(this.this$0).getText(0, JTextComponent.access$0(this.this$0).getLength());
  231.                   BreakIterator var4 = BreakIterator.getSentenceInstance();
  232.                   var4.setText(var3);
  233.                   var4.next(var2);
  234.                   int var5 = var4.previous();
  235.                   return var3.substring(var4.previous(), var5);
  236.                } catch (BadLocationException var6) {
  237.                   return null;
  238.                }
  239.             default:
  240.                return null;
  241.          }
  242.       } else {
  243.          return null;
  244.       }
  245.    }
  246. }
  247.