package org.buzztroll.mud;
import java.lang.*;
import java.awt.*;
import java.net.*;
import java.io.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class
PreferencesPanel
extends JPanel
implements ActionListener
{
protected JTextField urlViewerCmdTF;
protected JButton backgroundButton;
public
PreferencesPanel()
{
super();
JPanel tempP = new JPanel();
JPanel tempP2 = new JPanel();
tempP.setLayout(new GridLayout(6, 1));
tempP2.setLayout(new GridLayout(6, 1));
urlViewerCmdTF = new JTextField("");
backgroundButton = new JButton("background");
backgroundButton.addActionListener(this);
tempP.add(new JLabel("URL Viewer Cmd Line:"));
tempP.add(new JLabel("Background Color:"));
tempP2.add(urlViewerCmdTF);
tempP2.add(backgroundButton);
this.setLayout(new BorderLayout(5, 5));
this.add("West", tempP);
this.add("Center", tempP2);
}
public Node
createDoc(
Document doc)
throws Exception
{
int ctr;
Element preferencesE = doc.createElement("preferences");
Element backgroundE = doc.createElement("background");
backgroundE.setAttribute("red",
new Integer(getBackgroundColor().getRed()).toString());
backgroundE.setAttribute("green",
new Integer(getBackgroundColor().getGreen()).toString());
backgroundE.setAttribute("blue",
new Integer(getBackgroundColor().getBlue()).toString());
preferencesE.appendChild(backgroundE);
Element urlviewerE = doc.createElement("urlviewer");
urlviewerE.setAttribute("cmd", this.urlViewerCmdTF.getText());
preferencesE.appendChild(urlviewerE);
return preferencesE;
}
public void
parse(
Document doc)
{
int ctr;
Node n;
Node nj;
String urlViewerCmd = null;;
String redS = "";
String greenS = "";
String blueS = "";
this.backgroundButton.setBackground(Color.black);
Element rootE = doc.getDocumentElement();
n = rootE.getFirstChild();
while(n != null)
{
if(Node.ELEMENT_NODE == n.getNodeType())
{
Element e = (Element)n;
if(e.getTagName().equals("preferences"))
{
nj = n.getFirstChild();
while(nj != null)
{
if(Node.ELEMENT_NODE == nj.getNodeType())
{
Element ej = (Element)nj;
if(ej.getTagName().equalsIgnoreCase("urlviewer"))
{
urlViewerCmd = ej.getAttribute("cmd");
}
else if(ej.getTagName().equals("background"))
{
redS = ej.getAttribute("red");
greenS = ej.getAttribute("green");
blueS = ej.getAttribute("blue");
Color c = new Color(
new Integer(redS).intValue(),
new Integer(greenS).intValue(),
new Integer(blueS).intValue());
this.backgroundButton.setBackground(c);
}
}
nj = nj.getNextSibling();
}
}
}
n = n.getNextSibling();
}
this.urlViewerCmdTF.setText(urlViewerCmd);
}
public String
getUrlViewerCmd()
{
return this.urlViewerCmdTF.getText();
}
public Color
getBackgroundColor()
{
return this.backgroundButton.getBackground();
}
public void
reset()
{
urlViewerCmdTF.setText("");
}
public void
actionPerformed(
ActionEvent e)
{
if (e.getSource() == backgroundButton)
{
Color c = JColorChooser.showDialog(this, "Pick Color",
backgroundButton.getBackground());
backgroundButton.setBackground(c);
}
}
}