home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.text.html;
-
- import com.sun.java.swing.JButton;
- import com.sun.java.swing.JCheckBox;
- import com.sun.java.swing.JComboBox;
- import com.sun.java.swing.JRadioButton;
- import com.sun.java.swing.JScrollPane;
- import com.sun.java.swing.JTextArea;
- import com.sun.java.swing.JTextField;
- import com.sun.java.swing.text.AttributeSet;
- import com.sun.java.swing.text.BadLocationException;
- import com.sun.java.swing.text.DefaultStyledDocument;
- import com.sun.java.swing.text.JTextComponent;
- import com.sun.java.swing.text.MutableAttributeSet;
- import com.sun.java.swing.text.SimpleAttributeSet;
- import com.sun.java.swing.text.Style;
- import com.sun.java.swing.text.StyleConstants;
- import com.sun.java.swing.text.StyleContext;
- import java.awt.Color;
- import java.awt.Component;
- import java.io.IOException;
- import java.io.Reader;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.Stack;
- import java.util.Vector;
-
- class HTMLDocument$HTMLReader extends HTMLParserCallbackDefault {
- // $FF: synthetic field
- private final HTMLDocument this$0;
- boolean openTagSeen;
- boolean inPre;
- boolean inTitle;
- boolean inOption;
- Stack dataCountStack;
- JComboBox combobox;
- Vector parseBuffer;
- MutableAttributeSet charAttr;
- Stack charAttrStack;
- Style resolver;
- Stack styleStack;
- MutableAttributeSet attr;
- int inBlock;
- html32 parser;
- SpecialCharTable specTable;
-
- public void read(int var1, Reader var2) throws IOException {
- this.parser = new html32(var2);
- StyleContext var3 = this.this$0.getStyleContext();
- this.charAttr = var3.addStyle((String)null, (Style)null);
- this.attr = var3.addStyle((String)null, (Style)null);
- this.resolver = this.this$0.getStyle("default-hierarchy");
- String var4 = " ";
- DefaultStyledDocument.ElementSpec var5 = new DefaultStyledDocument.ElementSpec((AttributeSet)null, (short)3, var4.toCharArray(), 0, 1);
- this.parseBuffer.addElement(var5);
- var5 = new DefaultStyledDocument.ElementSpec((AttributeSet)null, (short)2);
- this.parseBuffer.addElement(var5);
- this.parser.setCallback(this);
-
- try {
- this.parser.html();
- } catch (Exception var9) {
- ((Throwable)var9).printStackTrace();
- throw new IOException(((Throwable)var9).toString());
- }
-
- DefaultStyledDocument.ElementSpec[] var6 = new DefaultStyledDocument.ElementSpec[this.parseBuffer.size()];
- this.parseBuffer.copyInto(var6);
-
- try {
- this.this$0.insert(var1, var6);
- } catch (BadLocationException var8) {
- throw new IOException("BadLocationException: " + ((Throwable)var8).getMessage());
- }
- }
-
- public Style getChildStyle(String var1) {
- Style var2 = this.this$0.getStyle("SH" + var1);
- return (Style)var2.getAttribute("child-style");
- }
-
- public void attributeAction(String var1, String var2) {
- if (var2 == null) {
- var2 = "#DEFAULT";
- }
-
- this.attr.addAttribute(var1.toLowerCase(), var2);
- }
-
- private void setAlignment(MutableAttributeSet var1) {
- String var2 = (String)var1.getAttribute("align");
- if (var2 != null) {
- var2 = var2.toLowerCase();
- if (var2.equals("left")) {
- StyleConstants.setAlignment(var1, 0);
- return;
- }
-
- if (var2.equals("center")) {
- StyleConstants.setAlignment(var1, 1);
- return;
- }
-
- if (var2.equals("right")) {
- StyleConstants.setAlignment(var1, 2);
- }
- }
-
- }
-
- public void blockOpenAction(String var1) {
- this.setAlignment(this.attr);
- this.blockOpen(var1, false);
- }
-
- public void blockCloseAction(String var1) {
- this.blockClose();
- }
-
- public void incrementPCData() {
- if (!this.dataCountStack.empty()) {
- HTMLDocument.HTMLReader.DataCounter var1 = (HTMLDocument.HTMLReader.DataCounter)this.dataCountStack.pop();
- var1.incCounter();
- this.dataCountStack.push(var1);
- }
-
- }
-
- public void pcdataAction(String var1) {
- this.incrementPCData();
- String var2 = this.xlateSpecialChars(var1);
- if (var2 != null) {
- var1 = var2;
- }
-
- if (this.inPre) {
- this.preContent(var1);
- } else if (this.inTitle) {
- this.titleContent(var1);
- } else if (this.inOption) {
- var1 = this.cleanString(var1);
- this.combobox.addItem(var1);
- } else if (this.inBlock > 0) {
- var1 = this.cleanString(var1);
- if (var1.length() >= 1) {
- AttributeSet var3 = this.charAttr.copyAttributes();
- DefaultStyledDocument.ElementSpec var4 = new DefaultStyledDocument.ElementSpec(var3, (short)3, var1.toCharArray(), 0, var1.length());
- this.parseBuffer.addElement(var4);
- }
- }
-
- this.attr.removeAttributes(this.attr);
- }
-
- protected void cleanEndTag(boolean var1) {
- DefaultStyledDocument.ElementSpec var2 = (DefaultStyledDocument.ElementSpec)this.parseBuffer.lastElement();
- if (var2 != null) {
- char[] var3 = var2.getArray();
- if (var3 != null) {
- String var4 = new String(var3);
- if (var4.length() != 0) {
- if (this.isWhiteSpace(var4.charAt(var4.length() - 1))) {
- var4 = var4.substring(0, var4.length() - 1);
- }
-
- if (var1) {
- var4 = var4 + "\n";
- }
-
- DefaultStyledDocument.ElementSpec var5 = new DefaultStyledDocument.ElementSpec(var2.getAttributes(), (short)3, var4.toCharArray(), 0, var4.length());
- this.parseBuffer.removeElementAt(this.parseBuffer.size() - 1);
- this.parseBuffer.addElement(var5);
- }
- }
- }
- }
-
- protected boolean isWhiteSpace(char var1) {
- return var1 == ' ' || var1 == '\n' || var1 == '\r' || var1 == '\t';
- }
-
- protected String cleanString(String var1) {
- if (var1.length() < 1) {
- return var1;
- } else {
- String var2 = "";
- String var3 = "";
- if (var1.length() > 1 && this.isWhiteSpace(var1.charAt(var1.length() - 1))) {
- var2 = new String(" ");
- }
-
- if (this.isWhiteSpace(var1.charAt(0))) {
- var3 = new String(" ");
- }
-
- String var4 = var3 + var1.trim() + var2;
- if (this.openTagSeen && var3.equals(" ")) {
- var4 = var4.substring(1, var4.length());
- }
-
- this.openTagSeen = false;
- int var5 = 0;
-
- while(var5 < var4.length()) {
- int var6 = var5;
- if (this.isWhiteSpace(var4.charAt(var5))) {
- while(var6 < var4.length() && this.isWhiteSpace(var4.charAt(var6))) {
- ++var6;
- }
-
- var4 = var4.substring(0, var5) + " " + var4.substring(var6, var4.length());
- var5 = var6;
- } else {
- ++var5;
- }
- }
-
- return var4;
- }
- }
-
- public void fontOpenAction() {
- this.openTagSeen = true;
- this.pushCharacterStyle();
- Color var1 = this.getColor(this.attr);
- if (var1 != null) {
- StyleConstants.setForeground(this.charAttr, var1);
- }
-
- String var2 = (String)this.attr.getAttribute("face");
- if (var2 != null) {
- StyleConstants.setFontFamily(this.charAttr, var2);
- }
-
- String var3 = (String)this.attr.getAttribute("size");
- StyleSheet var4 = StyleReader.getStyleSheet();
- if (var3 != null) {
- StyleConstants.setFontSize(this.charAttr, var4.getPtSize(var3));
- }
-
- }
-
- public void fontCloseAction() {
- this.popCharacterStyle();
- }
-
- public void htmlOpenAction() {
- }
-
- public void htmlCloseAction() {
- }
-
- public void headOpenAction() {
- }
-
- public void headCloseAction() {
- }
-
- public void bodyOpenAction() {
- this.this$0.setRootElementAttributes(this.attr);
- }
-
- public void bodyCloseAction() {
- }
-
- public void whitespaceAction(String var1) {
- this.addContent(var1);
- }
-
- public void titleOpenAction() {
- this.inTitle = true;
- }
-
- public void titleCloseAction() {
- this.inTitle = false;
- }
-
- public void preOpenAction() {
- this.inPre = true;
- this.blockOpen("pre", true);
- this.blockOpen("pre-line", true);
- }
-
- public void preCloseAction() {
- this.inPre = false;
- this.blockClose();
- this.blockClose();
- }
-
- void titleContent(String var1) {
- this.this$0.putProperty("title", var1);
- }
-
- void preContent(String var1) {
- int var2 = 0;
-
- for(int var3 = var1.indexOf(10); var3 >= 0; var3 = var1.indexOf(10, var2)) {
- String var4 = var1.substring(var2, var3);
- this.addContent(var4);
- this.blockClose();
- this.blockOpen("pre-line", true);
- var2 = var3 + 1;
- }
-
- if (var2 < var1.length()) {
- this.addContent(var1.substring(var2, var1.length()));
- }
-
- }
-
- public void ttOpenAction() {
- this.pushCharacterStyle();
- this.attr.addAttribute("tt", "true");
- Style var1 = this.getChildStyle("tt");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- } else {
- StyleConstants.setFontFamily(this.charAttr, "Monospaced");
- }
-
- this.charAttr.addAttributes(this.attr);
- }
-
- public void ttCloseAction() {
- this.popCharacterStyle();
- }
-
- public void dfnOpenAction() {
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("dfn");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- } else {
- StyleConstants.setItalic(this.charAttr, true);
- }
-
- this.charAttr.addAttributes(this.attr);
- }
-
- public void dfnCloseAction() {
- this.popCharacterStyle();
- }
-
- public void citeOpenAction() {
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("cite");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- } else {
- StyleConstants.setItalic(this.charAttr, true);
- }
-
- this.charAttr.addAttributes(this.attr);
- }
-
- public void citeCloseAction() {
- this.popCharacterStyle();
- }
-
- public void bigOpenAction() {
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("big");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- } else {
- String var2 = StyleXlater.convertFontSizeString("x-large");
- StyleSheet var3 = StyleReader.getStyleSheet();
- int var4 = var3.getPtSize(var2);
- StyleConstants.setFontSize(this.charAttr, var4);
- }
- }
-
- public void bigCloseAction() {
- this.popCharacterStyle();
- }
-
- public void smallOpenAction() {
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("small");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- } else {
- String var2 = StyleXlater.convertFontSizeString("x-small");
- StyleSheet var3 = StyleReader.getStyleSheet();
- int var4 = var3.getPtSize(var2);
- StyleConstants.setFontSize(this.charAttr, var4);
- }
- }
-
- public void smallCloseAction() {
- this.popCharacterStyle();
- }
-
- public void sampOpenAction() {
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("samp");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- } else {
- String var2 = StyleXlater.convertFontSizeString("small");
- StyleSheet var3 = StyleReader.getStyleSheet();
- int var4 = var3.getPtSize(var2);
- StyleConstants.setFontSize(this.charAttr, var4);
- StyleConstants.setFontFamily(this.charAttr, "Monospaced");
- }
- }
-
- public void sampCloseAction() {
- this.popCharacterStyle();
- }
-
- public void codeOpenAction() {
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("code");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- } else {
- String var2 = StyleXlater.convertFontSizeString("small");
- StyleSheet var3 = StyleReader.getStyleSheet();
- int var4 = var3.getPtSize(var2);
- StyleConstants.setFontSize(this.charAttr, var4);
- StyleConstants.setFontFamily(this.charAttr, "Monospaced");
- }
- }
-
- public void codeCloseAction() {
- this.popCharacterStyle();
- }
-
- public void strikeOpenAction() {
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("strike");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- }
-
- }
-
- public void strikeCloseAction() {
- this.popCharacterStyle();
- }
-
- public void blockquoteOpenAction() {
- this.blockOpen("blockquote", false);
- }
-
- public void blockquoteCloseAction() {
- this.blockClose();
- }
-
- public void emOpenAction() {
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("em");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- } else {
- StyleConstants.setItalic(this.charAttr, true);
- }
-
- this.charAttr.addAttributes(this.attr);
- }
-
- public void emCloseAction() {
- this.popCharacterStyle();
- }
-
- public void addressOpenAction() {
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("address");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- } else {
- StyleConstants.setItalic(this.charAttr, true);
- }
-
- this.charAttr.addAttributes(this.attr);
- }
-
- public void addressCloseAction() {
- this.popCharacterStyle();
- }
-
- public void strongOpenAction() {
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("strong");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- } else {
- StyleConstants.setBold(this.charAttr, true);
- }
-
- this.charAttr.addAttributes(this.attr);
- }
-
- public void strongCloseAction() {
- this.popCharacterStyle();
- }
-
- public void varOpenAction() {
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("_var");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- } else {
- StyleConstants.setBold(this.charAttr, true);
- StyleConstants.setItalic(this.charAttr, true);
- }
-
- this.charAttr.addAttributes(this.attr);
- }
-
- public void varCloseAction() {
- this.popCharacterStyle();
- }
-
- public void basefontAction() {
- this.attr.addAttribute("htmltag", "basefont");
- this.addSpecialElement(this.attr);
- }
-
- public void brAction() {
- }
-
- public void aOpenAction() {
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("a");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- }
-
- this.charAttr.addAttributes(this.attr);
- }
-
- private void checkPCData() {
- if (!this.dataCountStack.empty()) {
- HTMLDocument.HTMLReader.DataCounter var1 = (HTMLDocument.HTMLReader.DataCounter)this.dataCountStack.peek();
- if (var1.noPCData()) {
- AttributeSet var2 = this.charAttr.copyAttributes();
- String var3 = new String("");
- DefaultStyledDocument.ElementSpec var4 = new DefaultStyledDocument.ElementSpec(var2, (short)3, var3.toCharArray(), 0, var3.length());
- this.parseBuffer.addElement(var4);
- }
- }
-
- }
-
- public void aCloseAction() {
- this.checkPCData();
- this.popCharacterStyle();
- }
-
- public void hrAction() {
- this.setAlignment(this.attr);
- this.attr.addAttribute("$ename", "hr");
- this.addSpecialElement(this.attr);
- }
-
- public void imgAction() {
- this.attr.addAttribute("$ename", "img");
- this.attr.addAttributes(this.charAttr);
- ImageView.addImageDataAttribute(this.attr);
- this.addSpecialElement(this.attr);
- }
-
- public void iOpenAction() {
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("i");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- } else {
- StyleConstants.setItalic(this.charAttr, true);
- }
-
- this.charAttr.addAttributes(this.attr);
- }
-
- public void iCloseAction() {
- this.popCharacterStyle();
- }
-
- public void bOpenAction() {
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("b");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- } else {
- StyleConstants.setBold(this.charAttr, true);
- }
-
- this.charAttr.addAttributes(this.attr);
- }
-
- public void bCloseAction() {
- this.popCharacterStyle();
- }
-
- public void uOpenAction() {
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("u");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- } else {
- StyleConstants.setUnderline(this.charAttr, true);
- }
- }
-
- public void uCloseAction() {
- this.popCharacterStyle();
- }
-
- public void kbdOpenAction() {
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("kbd");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- } else {
- StyleConstants.setFontFamily(this.charAttr, "Monospaced");
- String var2 = StyleXlater.convertFontSizeString("small");
- StyleSheet var3 = StyleReader.getStyleSheet();
- int var4 = var3.getPtSize(var2);
- StyleConstants.setFontSize(this.charAttr, var4);
- }
-
- this.charAttr.addAttributes(this.attr);
- }
-
- public void kbdCloseAction() {
- this.popCharacterStyle();
- }
-
- public void baseAction() {
- String var1 = (String)this.attr.getAttribute("href");
- if (var1 != null) {
- this.this$0.putProperty("basehref", var1);
-
- try {
- this.this$0.reference = new URL(var1);
- } catch (MalformedURLException var2) {
- }
- }
- }
-
- public void subOpenAction() {
- this.openTagSeen = true;
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("sub");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- }
-
- this.charAttr.addAttributes(this.attr);
- }
-
- public void subCloseAction() {
- this.cleanEndTag(false);
- this.popCharacterStyle();
- }
-
- public void supOpenAction() {
- this.openTagSeen = true;
- this.attr.addAttribute("sup", "true");
- this.pushCharacterStyle();
- Style var1 = this.getChildStyle("sup");
- if (var1 != null) {
- this.charAttr.addAttributes(var1);
- this.charAttr.removeAttribute(StyleConstants.ResolveAttribute);
- }
-
- this.charAttr.addAttributes(this.attr);
- }
-
- public void supCloseAction() {
- this.cleanEndTag(false);
- this.popCharacterStyle();
- }
-
- public void liOpenAction() {
- this.blockOpen("li", true);
- }
-
- public void liCloseAction() {
- this.blockClose();
- }
-
- public void ulOpenAction() {
- this.blockOpen("ul", true);
- }
-
- public void ulCloseAction() {
- this.blockClose();
- }
-
- public void olOpenAction() {
- this.blockOpen("ol", true);
- }
-
- public void olCloseAction() {
- this.blockClose();
- }
-
- public void dlOpenAction() {
- this.blockOpen("dl", true);
- }
-
- public void dlCloseAction() {
- this.blockClose();
- }
-
- public void ddOpenAction() {
- this.blockOpen("dd", true);
- }
-
- public void ddCloseAction() {
- this.blockClose();
- }
-
- public void dtOpenAction() {
- this.blockOpen("dt", true);
- }
-
- public void dtCloseAction() {
- this.blockClose();
- }
-
- public void dirOpenAction() {
- this.blockOpen("dir", true);
- }
-
- public void dirCloseAction() {
- this.blockClose();
- }
-
- public void menuOpenAction() {
- this.blockOpen("menu", true);
- }
-
- public void menuCloseAction() {
- this.blockClose();
- }
-
- public void formOpenAction() {
- }
-
- public void formCloseAction() {
- }
-
- public void inputAction() {
- String var1 = (String)this.attr.getAttribute("type");
- if (var1 == null) {
- var1 = new String("text");
- }
-
- if (var1.equalsIgnoreCase("hidden")) {
- this.addSpecialElement(this.attr);
- } else {
- Object var2;
- if (!var1.equalsIgnoreCase("submit") && !var1.equalsIgnoreCase("reset")) {
- if (var1.equalsIgnoreCase("image")) {
- String var7 = (String)this.attr.getAttribute("src");
- var2 = new JButton(var7);
- } else if (var1.equalsIgnoreCase("checkbox")) {
- var2 = new JCheckBox();
- } else if (var1.equalsIgnoreCase("radio")) {
- String var8 = (String)this.attr.getAttribute("value");
- var2 = new JRadioButton(var8);
- } else if (!var1.equalsIgnoreCase("text") && !var1.equalsIgnoreCase("password")) {
- var2 = new JButton();
- } else {
- String var4 = (String)this.attr.getAttribute("size");
- int var9;
- if (var4 != null) {
- try {
- var9 = Integer.valueOf(var4);
- } catch (NumberFormatException var6) {
- var9 = 40;
- }
- } else {
- var9 = 40;
- }
-
- String var5 = (String)this.attr.getAttribute("value");
- var2 = new JTextField(var5, var9);
- }
- } else {
- String var3 = (String)this.attr.getAttribute("value");
- var2 = new JButton(var3);
- }
-
- this.attr.addAttribute("input-component", "input-component");
- StyleConstants.setComponent(this.attr, (Component)var2);
- this.addSpecialElement(this.attr);
- }
- }
-
- public void selectOpenAction() {
- String var3 = (String)this.attr.getAttribute("rows");
- if (var3 != null) {
- try {
- int var8 = Integer.valueOf(var3);
- } catch (NumberFormatException var7) {
- boolean var2 = true;
- }
- } else {
- boolean var9 = true;
- }
-
- String var5 = (String)this.attr.getAttribute("cols");
- if (var5 != null) {
- try {
- int var10 = Integer.valueOf(var5);
- } catch (NumberFormatException var6) {
- boolean var4 = true;
- }
- } else {
- boolean var11 = true;
- }
-
- String var10000 = (String)this.attr.getAttribute("value");
- this.combobox = new JComboBox();
- this.combobox.setEditable(false);
- JComboBox var1 = this.combobox;
- this.attr.addAttribute("input-component", "input-component");
- StyleConstants.setComponent(this.attr, var1);
- this.addSpecialElement(this.attr);
- }
-
- public void selectCloseAction() {
- }
-
- public void optionOpenAction() {
- this.inOption = true;
- }
-
- public void optionCloseAction() {
- this.inOption = false;
- }
-
- public void textareaOpenAction() {
- String var3 = (String)this.attr.getAttribute("rows");
- int var2;
- if (var3 != null) {
- try {
- var2 = Integer.valueOf(var3);
- } catch (NumberFormatException var10) {
- var2 = 10;
- }
- } else {
- var2 = 10;
- }
-
- String var5 = (String)this.attr.getAttribute("cols");
- int var4;
- if (var5 != null) {
- try {
- var4 = Integer.valueOf(var5);
- } catch (NumberFormatException var9) {
- var4 = 40;
- }
- } else {
- var4 = 40;
- }
-
- String var6 = (String)this.attr.getAttribute("value");
- JTextArea var7 = new JTextArea(var6, var2, var4);
- ((JTextComponent)var7).setEditable(true);
- JScrollPane var8 = new JScrollPane(22, 32);
- var8.getViewport().add(var7);
- this.attr.addAttribute("input-component", "input-component");
- StyleConstants.setComponent(this.attr, var8);
- this.addSpecialElement(this.attr);
- }
-
- public void textareaCloseAction() {
- }
-
- Color getColor(AttributeSet var1) {
- String var2 = (String)this.attr.getAttribute("color");
- if (var2 != null) {
- try {
- Color var3 = HTMLUtils.stringToColor(var2);
- return var3;
- } catch (HTMLException var4) {
- return null;
- }
- } else {
- return null;
- }
- }
-
- void pushCharacterStyle() {
- this.charAttrStack.push(this.charAttr.copyAttributes());
- }
-
- void popCharacterStyle() {
- this.charAttr = (MutableAttributeSet)this.charAttrStack.peek();
- this.charAttrStack.pop();
- }
-
- void pushStyle(String var1) {
- this.styleStack.push(this.resolver);
- String var2 = "SH" + var1;
- Style var3 = (Style)this.resolver.getAttribute(var2);
- if (var3 == null && var1.equalsIgnoreCase("impliedp")) {
- var2 = new String("SHp");
- var3 = (Style)this.resolver.getAttribute(var2);
- }
-
- if (var3 != null) {
- this.resolver = var3;
- }
-
- }
-
- void popStyle() {
- this.resolver = (Style)this.styleStack.peek();
- this.styleStack.pop();
- }
-
- void blockOpen(String var1, boolean var2) {
- this.incrementPCData();
- this.dataCountStack.push(new HTMLDocument.HTMLReader.DataCounter(this));
- this.openTagSeen = true;
- ++this.inBlock;
- this.pushStyle(var1);
- if (this.resolver != null) {
- Style var3 = (Style)this.resolver.getAttribute("child-style");
- if (var3 != null) {
- this.attr.addAttribute(StyleConstants.ResolveAttribute, var3);
- }
- }
-
- if (var2) {
- this.attr.addAttribute("$ename", var1);
- }
-
- if (var1.equalsIgnoreCase("impliedp")) {
- this.attr.addAttribute("impliedp", "impliedp");
- }
-
- DefaultStyledDocument.ElementSpec var4 = new DefaultStyledDocument.ElementSpec(this.attr.copyAttributes(), (short)1);
- this.parseBuffer.addElement(var4);
- this.attr.removeAttributes(this.attr);
- }
-
- void blockClose() {
- this.checkPCData();
- this.dataCountStack.pop();
- this.cleanEndTag(true);
- --this.inBlock;
- this.popStyle();
- DefaultStyledDocument.ElementSpec var1 = (DefaultStyledDocument.ElementSpec)this.parseBuffer.lastElement();
- if (var1 != null && var1.getType() == 1) {
- this.addContent(" ");
- }
-
- DefaultStyledDocument.ElementSpec var2 = new DefaultStyledDocument.ElementSpec((AttributeSet)null, (short)2);
- this.parseBuffer.addElement(var2);
- }
-
- void addContent(String var1) {
- AttributeSet var2 = this.charAttr.copyAttributes();
- DefaultStyledDocument.ElementSpec var3 = new DefaultStyledDocument.ElementSpec(var2, (short)3, var1.toCharArray(), 0, var1.length());
- this.parseBuffer.addElement(var3);
- }
-
- void addSpecialElement(AttributeSet var1) {
- char[] var2 = new char[]{' '};
- var1 = var1.copyAttributes();
- DefaultStyledDocument.ElementSpec var3 = new DefaultStyledDocument.ElementSpec(var1.copyAttributes(), (short)3, var2, 0, 1);
- this.parseBuffer.addElement(var3);
- this.attr.removeAttributes(this.attr);
- }
-
- private String replaceSpecialChar(String var1, int var2, int var3, char var4) {
- Object var5 = null;
- String var6 = var1.substring(0, var2) + var4 + var1.substring(var3 + 1, var1.length());
- return var6;
- }
-
- private String xlateSpecialChars(String var1) {
- String var2 = null;
- boolean var3 = false;
-
- for(int var9 = var1.indexOf(38); var9 < var1.length() && var9 > 0; var9 = var1.indexOf(38, var9 + 1)) {
- int var4 = 0;
- var4 = var1.indexOf(59, var9);
- if (var4 < 0) {
- return null;
- }
-
- if (var1.charAt(var9 + 1) == '#') {
- String var5 = var1.substring(var9 + 2, var4);
- int var6 = Integer.valueOf(var5);
- var2 = this.replaceSpecialChar(var1, var9, var4, (char)var6);
- } else {
- String var11 = var1.substring(var9 + 1, var4);
- char var12 = ' ';
- boolean var7 = false;
-
- try {
- var12 = this.specTable.getSymbol(var11);
- var7 = true;
- } catch (HTMLException var8) {
- }
-
- if (var7) {
- var2 = this.replaceSpecialChar(var1, var9, var4, var12);
- }
- }
- }
-
- return var2;
- }
-
- HTMLDocument$HTMLReader(HTMLDocument var1) {
- this.this$0 = var1;
- this.this$0 = var1;
- this.openTagSeen = false;
- this.inPre = false;
- this.inTitle = false;
- this.inOption = false;
- this.dataCountStack = new Stack();
- this.parseBuffer = new Vector();
- this.charAttr = new SimpleAttributeSet();
- this.charAttrStack = new Stack();
- this.styleStack = new Stack();
- this.attr = new SimpleAttributeSet();
- this.specTable = new SpecialCharTable();
- }
- }
-