home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.text.html;
-
- import java.awt.Component;
- import java.awt.Point;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.net.URLEncoder;
- import javax.swing.AbstractButton;
- import javax.swing.ButtonModel;
- import javax.swing.ComboBoxModel;
- import javax.swing.ImageIcon;
- import javax.swing.JButton;
- import javax.swing.JCheckBox;
- import javax.swing.JComboBox;
- import javax.swing.JComponent;
- import javax.swing.JList;
- import javax.swing.JPasswordField;
- import javax.swing.JRadioButton;
- import javax.swing.JScrollPane;
- import javax.swing.JTextArea;
- import javax.swing.JTextField;
- import javax.swing.JToggleButton;
- import javax.swing.ListModel;
- import javax.swing.ListSelectionModel;
- import javax.swing.text.AttributeSet;
- import javax.swing.text.ComponentView;
- import javax.swing.text.Document;
- import javax.swing.text.Element;
- import javax.swing.text.JTextComponent;
- import javax.swing.text.StyleConstants;
- import javax.swing.text.View;
- import javax.swing.text.html.HTML.Attribute;
- import javax.swing.text.html.HTML.Tag;
-
- public class FormView extends ComponentView implements ActionListener {
- public static final String SUBMIT = new String("Submit Query");
- public static final String RESET = new String("Reset");
-
- public FormView(Element var1) {
- super(var1);
- }
-
- // $FF: synthetic method
- static String access$0(FormView var0, Point var1) {
- return var0.getImageData(var1);
- }
-
- public void actionPerformed(ActionEvent var1) {
- Element var2 = ((View)this).getElement();
- StringBuffer var3 = new StringBuffer();
- HTMLDocument var4 = (HTMLDocument)((View)this).getDocument();
- AttributeSet var5 = var2.getAttributes();
- String var6 = (String)var5.getAttribute(Attribute.TYPE);
- if (var6.equals("submit")) {
- var4.getFormData(var3, var2);
- this.submitData(var3.toString());
- } else if (var6.equals("reset")) {
- var4.resetForm(var2);
- } else if (var6.equals("text") || var6.equals("password")) {
- if (var4.isLastTextOrPasswordField(var2)) {
- var4.getFormData(var3, var2);
- this.submitData(var3.toString());
- } else {
- ((ComponentView)this).getComponent().transferFocus();
- }
- }
-
- }
-
- protected Component createComponent() {
- AttributeSet var1 = ((View)this).getElement().getAttributes();
- HTML.Tag var2 = (HTML.Tag)var1.getAttribute(StyleConstants.NameAttribute);
- Object var3 = null;
- Object var4 = var1.getAttribute(StyleConstants.ModelAttribute);
- if (var2 == Tag.INPUT) {
- var3 = this.createInputComponent(var1, var4);
- } else if (var2 == Tag.SELECT) {
- if (var4 instanceof OptionListModel) {
- JList var5 = new JList((ListModel)var4);
- int var6 = HTML.getIntegerAttributeValue(var1, Attribute.SIZE, 1);
- var5.setVisibleRowCount(var6);
- ((JComponent)var5).setOpaque(false);
- var5.setSelectionModel((ListSelectionModel)var4);
- var3 = new JScrollPane(var5);
- } else {
- var3 = new JComboBox((ComboBoxModel)var4);
- }
- } else if (var2 == Tag.TEXTAREA) {
- JTextArea var8 = new JTextArea((Document)var4);
- int var9 = HTML.getIntegerAttributeValue(var1, Attribute.ROWS, 0);
- var8.setRows(var9);
- int var7 = HTML.getIntegerAttributeValue(var1, Attribute.COLS, 0);
- var8.setColumns(var7);
- var3 = new JScrollPane(var8, 22, 32);
- }
-
- if (var3 != null) {
- ((JComponent)var3).setAlignmentY(1.0F);
- ((JComponent)var3).setOpaque(false);
- }
-
- return (Component)var3;
- }
-
- private JComponent createInputComponent(AttributeSet var1, Object var2) {
- Object var3 = null;
- String var4 = (String)var1.getAttribute(Attribute.TYPE);
- if (!var4.equals("submit") && !var4.equals("reset")) {
- if (var4.equals("image")) {
- String var11 = (String)var1.getAttribute(Attribute.SRC);
-
- JButton var16;
- try {
- URL var7 = ((HTMLDocument)((View)this).getElement().getDocument()).getBase();
- URL var8 = new URL(var7, var11);
- ImageIcon var9 = new ImageIcon(var8);
- var16 = new JButton(var9);
- } catch (MalformedURLException var10) {
- var16 = new JButton(var11);
- }
-
- if (var2 != null) {
- ((AbstractButton)var16).setModel((ButtonModel)var2);
- ((Component)var16).addMouseListener(new MouseEventListener(this));
- }
-
- var3 = var16;
- } else if (var4.equals("checkbox")) {
- var3 = new JCheckBox();
- if (var2 != null) {
- boolean var12 = var1.getAttribute(Attribute.CHECKED) != null;
- ((JToggleButton.ToggleButtonModel)var2).setSelected(var12);
- ((JCheckBox)var3).setModel((JToggleButton.ToggleButtonModel)var2);
- }
- } else if (var4.equals("radio")) {
- var3 = new JRadioButton();
- if (var2 != null) {
- boolean var13 = var1.getAttribute(Attribute.CHECKED) != null;
- ((JToggleButton.ToggleButtonModel)var2).setSelected(var13);
- ((JRadioButton)var3).setModel((JToggleButton.ToggleButtonModel)var2);
- }
- } else if (var4.equals("text")) {
- JTextField var14 = new JTextField();
- var3 = var14;
- if (var2 != null) {
- ((JTextComponent)var14).setDocument((Document)var2);
- }
-
- int var17 = HTML.getIntegerAttributeValue(var1, Attribute.SIZE, -1);
- if (var17 > 0) {
- var14.setColumns(var17);
- }
-
- String var19 = (String)var1.getAttribute(Attribute.VALUE);
- if (var19 != null) {
- ((JTextComponent)var14).setText(var19);
- }
-
- var14.addActionListener(this);
- } else if (var4.equals("password")) {
- JPasswordField var15 = new JPasswordField();
- var3 = var15;
- if (var2 != null) {
- ((JTextComponent)var15).setDocument((Document)var2);
- }
-
- int var18 = HTML.getIntegerAttributeValue(var1, Attribute.SIZE, -1);
- if (var18 > 0) {
- ((JTextField)var15).setColumns(var18);
- }
-
- String var20 = (String)var1.getAttribute(Attribute.VALUE);
- if (var20 != null) {
- ((JTextComponent)var15).setText(var20);
- }
-
- ((JTextField)var15).addActionListener(this);
- }
- } else {
- String var5 = (String)var1.getAttribute(Attribute.VALUE);
- if (var5 == null) {
- if (var4.equals("submit")) {
- var5 = SUBMIT;
- } else {
- var5 = RESET;
- }
- }
-
- JButton var6 = new JButton(var5);
- if (var2 != null) {
- ((AbstractButton)var6).setModel((ButtonModel)var2);
- ((AbstractButton)var6).addActionListener(this);
- }
-
- var3 = var6;
- }
-
- return (JComponent)var3;
- }
-
- private String getImageData(Point var1) {
- String var2 = var1.x + ":" + var1.y;
- int var3 = var2.indexOf(58);
- String var4 = var2.substring(0, var3);
- ++var3;
- String var5 = var2.substring(var3);
- String var6 = (String)((View)this).getElement().getAttributes().getAttribute(Attribute.NAME);
- String var7;
- if (var6 != null && !var6.equals("")) {
- var6 = URLEncoder.encode(var6);
- var7 = var6 + ".x" + "=" + var4 + "&" + var6 + ".y" + "=" + var5;
- } else {
- var7 = "x=" + var4 + "&y=" + var5;
- }
-
- return var7;
- }
-
- protected void imageSubmit(String var1) {
- StringBuffer var2 = new StringBuffer();
- Element var3 = ((View)this).getElement();
- HTMLDocument var4 = (HTMLDocument)var3.getDocument();
- var4.getFormData(var2, ((View)this).getElement());
- if (var2.length() > 0) {
- var2.append('&');
- }
-
- var2.append(var1);
- this.submitData(var2.toString());
- }
-
- protected void submitData(String var1) {
- SubmitThread var2 = new SubmitThread(this, ((View)this).getElement(), var1);
- ((Thread)var2).start();
- }
- }
-