phantasia4/
phantasia4/conf/
phantasia4/phantasia/bin/
phantasia4/phantasia/src/utilities/
phantasia4/public_html/cgi-bin/
import java.awt.Panel;
import java.awt.Button;
import java.awt.TextField;
import java.awt.TextArea;
import java.awt.List;
import java.awt.BorderLayout;
import java.io.DataInputStream;
import java.awt.Color;
import java.awt.Event;

public class chatPne extends Panel implements constants {

    pClient parent = null;
    TextArea textArea = null;
    Button sendButton = null;
    Button clearButton = null;
    TextField theTextField = null;
    boolean active = false;
    Panel controlPane = new Panel();
    Panel buttonPane = new Panel();

    public chatPne(pClient c) {

	parent = c;

	setBackground(backgroundColor);

	textArea = new TextArea(3, 60);
/*
	textArea.addItem("");
*/
	textArea.setFont(ChatFont);
	textArea.setEditable(false);

	sendButton = new Button("Send");
	sendButton.disable();

	clearButton = new Button("Clear");

	theTextField = new TextField();

	buttonPane.setLayout(new BorderLayout());
	buttonPane.add("West", clearButton);
	buttonPane.add("East", sendButton);

	controlPane.setLayout(new BorderLayout());
	controlPane.add("West", buttonPane);
	controlPane.add("Center", theTextField);

	this.setLayout(new BorderLayout());
	this.add("South", controlPane);
	this.add("Center", textArea);
    }

    public void PrintLine() {

	textArea.insertText(parent.readString() + "\n", 0);
/*
	textArea.appendText(parent.readString() + "\n");
	textArea.addItem(parent.readString());
	if (textArea.countItems() > 50)
	    textArea.delItem(1);
*/
    }

    public void takeFocus() {
        textArea.requestFocus();
    }

    public boolean action(Event evt, Object arg) {

	if (active) {
	    if (evt.target instanceof TextField || arg.equals("Send")) {

	        String theString = theTextField.getText();
		parent.sendString(C_CHAT_PACKET + theString + "\0");
	        theTextField.setText("");
		return true;
	    }

	    if (arg.equals("Clear")) {

		textArea.selectAll();
		textArea.replaceText("", textArea.getSelectionStart(), textArea.getSelectionEnd());
		return true;
	    }
	}

	return false;
    }

    public void activateChat() {
	active = true;
	sendButton.enable();
    }

    public void deactivateChat() {
	active = false;
	sendButton.disable();
    }
}