home *** CD-ROM | disk | FTP | other *** search
Wrap
package javax.swing.text; import java.awt.Insets; import java.awt.Point; import java.awt.Rectangle; import java.awt.Shape; import java.text.BreakIterator; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import javax.accessibility.AccessibleState; import javax.accessibility.AccessibleStateSet; import javax.accessibility.AccessibleText; import javax.swing.JComponent; import javax.swing.SwingUtilities; import javax.swing.event.CaretEvent; import javax.swing.event.CaretListener; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.plaf.TextUI; import javax.swing.text.Position.Bias; public class JTextComponent$AccessibleJTextComponent extends JComponent.AccessibleJComponent implements AccessibleText, CaretListener, DocumentListener { int caretPos; // $FF: synthetic field private final JTextComponent this$0; public JTextComponent$AccessibleJTextComponent(JTextComponent var1) { super(var1); this.this$0 = var1; Document var2 = var1.getDocument(); if (var2 != null) { var2.addDocumentListener(this); } var1.addCaretListener(this); this.caretPos = this.getCaretPosition(); } public void caretUpdate(CaretEvent var1) { int var2 = var1.getDot(); int var3 = var1.getMark(); if (this.caretPos != var2) { ((AccessibleContext)this).firePropertyChange("AccessibleCaret", new Integer(this.caretPos), new Integer(var2)); this.caretPos = var2; } if (var3 != var2) { ((AccessibleContext)this).firePropertyChange("AccessibleSelection", (Object)null, this.getSelectedText()); } } public void insertUpdate(DocumentEvent var1) { Integer var2 = new Integer(var1.getOffset()); if (SwingUtilities.isEventDispatchThread()) { ((AccessibleContext)this).firePropertyChange("AccessibleText", (Object)null, var2); } else { JTextComponent.1 var3 = new JTextComponent.1(this, var2); SwingUtilities.invokeLater(var3); } } public void removeUpdate(DocumentEvent var1) { Integer var2 = new Integer(var1.getOffset()); if (SwingUtilities.isEventDispatchThread()) { ((AccessibleContext)this).firePropertyChange("AccessibleText", (Object)null, var2); } else { JTextComponent.2 var3 = new JTextComponent.2(this, var2); SwingUtilities.invokeLater(var3); } } public void changedUpdate(DocumentEvent var1) { Integer var2 = new Integer(var1.getOffset()); if (SwingUtilities.isEventDispatchThread()) { ((AccessibleContext)this).firePropertyChange("AccessibleText", (Object)null, var2); } else { JTextComponent.3 var3 = new JTextComponent.3(this, var2); SwingUtilities.invokeLater(var3); } } public AccessibleStateSet getAccessibleStateSet() { AccessibleStateSet var1 = super.getAccessibleStateSet(); if (this.this$0.isEditable()) { var1.add(AccessibleState.EDITABLE); } return var1; } public AccessibleRole getAccessibleRole() { return AccessibleRole.TEXT; } public AccessibleText getAccessibleText() { return this; } public int getIndexAtPoint(Point var1) { return var1 == null ? -1 : this.this$0.viewToModel(var1); } Rectangle getRootEditorRect() { Rectangle var1 = this.this$0.getBounds(); if (var1.width > 0 && var1.height > 0) { var1.x = var1.y = 0; Insets var2 = this.this$0.getInsets(); var1.x += var2.left; var1.y += var2.top; var1.width -= var2.left + var2.right; var1.height -= var2.top + var2.bottom; return var1; } else { return null; } } public Rectangle getCharacterBounds(int var1) { if (var1 >= 0 && var1 <= JTextComponent.access$000(this.this$0).getLength() - 1) { TextUI var2 = this.this$0.getUI(); if (var2 == null) { return null; } else { Rectangle var3 = null; Rectangle var4 = this.getRootEditorRect(); if (var4 == null) { return null; } else { if (JTextComponent.access$000(this.this$0) instanceof AbstractDocument) { ((AbstractDocument)JTextComponent.access$000(this.this$0)).readLock(); } try { View var5 = var2.getRootView(this.this$0); if (var5 != null) { var5.setSize((float)var4.width, (float)var4.height); Shape var6 = var5.modelToView(var1, Bias.Forward, var1 + 1, Bias.Backward, var4); var3 = var6 instanceof Rectangle ? (Rectangle)var6 : var6.getBounds(); } } catch (BadLocationException var11) { } finally { if (JTextComponent.access$000(this.this$0) instanceof AbstractDocument) { ((AbstractDocument)JTextComponent.access$000(this.this$0)).readUnlock(); } } return var3; } } } else { return null; } } public int getCharCount() { return JTextComponent.access$000(this.this$0).getLength(); } public int getCaretPosition() { return this.this$0.getCaretPosition(); } public AttributeSet getCharacterAttribute(int var1) { Object var2 = null; if (JTextComponent.access$000(this.this$0) instanceof AbstractDocument) { ((AbstractDocument)JTextComponent.access$000(this.this$0)).readLock(); } int var3; try { for(var8 = JTextComponent.access$000(this.this$0).getDefaultRootElement(); !var8.isLeaf(); var8 = var8.getElement(var3)) { var3 = var8.getElementIndex(var1); } } finally { if (JTextComponent.access$000(this.this$0) instanceof AbstractDocument) { ((AbstractDocument)JTextComponent.access$000(this.this$0)).readUnlock(); } } return var8.getAttributes(); } public int getSelectionStart() { return this.this$0.getSelectionStart(); } public int getSelectionEnd() { return this.this$0.getSelectionEnd(); } public String getSelectedText() { return this.this$0.getSelectedText(); } public String getAtIndex(int var1, int var2) { if (var2 >= 0 && var2 < JTextComponent.access$000(this.this$0).getLength()) { String var3 = null; Object var4 = null; if (JTextComponent.access$000(this.this$0) instanceof AbstractDocument) { ((AbstractDocument)JTextComponent.access$000(this.this$0)).readLock(); } try { switch (var1) { case 1: var3 = JTextComponent.access$000(this.this$0).getText(var2, 1); break; case 2: String var15 = JTextComponent.access$000(this.this$0).getText(0, JTextComponent.access$000(this.this$0).getLength()); BreakIterator var6 = BreakIterator.getWordInstance(); var6.setText(var15); int var16 = var6.following(var2); var3 = var15.substring(var6.previous(), var16); break; case 3: String var14 = JTextComponent.access$000(this.this$0).getText(0, JTextComponent.access$000(this.this$0).getLength()); BreakIterator var7 = BreakIterator.getSentenceInstance(); var7.setText(var14); int var5 = var7.following(var2); var3 = var14.substring(var7.previous(), var5); } } catch (BadLocationException var12) { } finally { if (JTextComponent.access$000(this.this$0) instanceof AbstractDocument) { ((AbstractDocument)JTextComponent.access$000(this.this$0)).readUnlock(); } } return var3; } else { return null; } } public String getAfterIndex(int var1, int var2) { if (var2 >= 0 && var2 < JTextComponent.access$000(this.this$0).getLength()) { String var3 = null; Object var4 = null; if (JTextComponent.access$000(this.this$0) instanceof AbstractDocument) { ((AbstractDocument)JTextComponent.access$000(this.this$0)).readLock(); } Object var9; try { switch (var1) { case 1: if (var2 + 1 < JTextComponent.access$000(this.this$0).getLength()) { var3 = JTextComponent.access$000(this.this$0).getText(var2 + 1, 1); } return var3; case 2: String var17 = JTextComponent.access$000(this.this$0).getText(0, JTextComponent.access$000(this.this$0).getLength()); BreakIterator var7 = BreakIterator.getWordInstance(); var7.setText(var17); int var18 = var7.following(var2); if (var18 != -1 && var18 < var17.length()) { int var19 = var7.following(var18); if (var19 != -1 && var19 < var17.length()) { var3 = var17.substring(var18, var19); return var3; } } return var3; case 3: String var16 = JTextComponent.access$000(this.this$0).getText(0, JTextComponent.access$000(this.this$0).getLength()); BreakIterator var8 = BreakIterator.getSentenceInstance(); var8.setText(var16); int var5 = var8.following(var2); if (var5 != -1 && var5 < var16.length()) { int var6 = var8.following(var5); if (var6 != -1 && var6 < var16.length()) { var3 = var16.substring(var5, var6); return var3; } } return var3; default: var9 = null; } } catch (BadLocationException var14) { return var3; } finally { if (JTextComponent.access$000(this.this$0) instanceof AbstractDocument) { ((AbstractDocument)JTextComponent.access$000(this.this$0)).readUnlock(); } } return (String)var9; } else { return null; } } public String getBeforeIndex(int var1, int var2) { if (var2 >= 0 && var2 <= JTextComponent.access$000(this.this$0).getLength() - 1) { String var3 = null; Object var4 = null; if (JTextComponent.access$000(this.this$0) instanceof AbstractDocument) { ((AbstractDocument)JTextComponent.access$000(this.this$0)).readLock(); } Object var9; try { switch (var1) { case 1: if (var2 != 0) { var3 = JTextComponent.access$000(this.this$0).getText(var2 - 1, 1); } return var3; case 2: String var17 = JTextComponent.access$000(this.this$0).getText(0, JTextComponent.access$000(this.this$0).getLength()); BreakIterator var7 = BreakIterator.getWordInstance(); var7.setText(var17); var7.following(var2); int var19 = var7.previous(); int var18 = var7.previous(); if (var18 != -1) { var3 = var17.substring(var18, var19); } return var3; case 3: String var16 = JTextComponent.access$000(this.this$0).getText(0, JTextComponent.access$000(this.this$0).getLength()); BreakIterator var8 = BreakIterator.getSentenceInstance(); var8.setText(var16); var8.following(var2); int var6 = var8.previous(); int var5 = var8.previous(); if (var5 != -1) { var3 = var16.substring(var5, var6); } return var3; default: var9 = null; } } catch (BadLocationException var14) { return var3; } finally { if (JTextComponent.access$000(this.this$0) instanceof AbstractDocument) { ((AbstractDocument)JTextComponent.access$000(this.this$0)).readUnlock(); } } return (String)var9; } else { return null; } } }