import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

class GuiListener implements ActionListener {

  Variablen var;  
  ServerConnection serv;

  public GuiListener(Variablen v, ServerConnection s) {
    var = v;
    serv = s;
  }

  public void actionPerformed(ActionEvent e) {
    String ac = e.getActionCommand();

    if (ac == "Nick") { 
      var.setBefehl("Nick");
      var.setParameter("Geben Sie einen neuen Nicknamen ein!");
    }
    if (ac == "Login") { 
      if (var.getStatus() == "nicht verbunden") {
        Login log = new Login(var,serv);
      }
      else var.setBefehl("Sie sind schon verbunden!");
    }

    if (ac == "Quit") { 
      var.setBefehl("Quit"); 
      var.setParameter("ich schließe die Verbindung!");
      var.setNickName("");
      serv.send("QUIT");
      var.setStatus("nicht verbunden");
      var.setTextFeld("Verbindung zu "+var.getServer()+" geschlossen!\n");
      var.setBefehl("Wählen Sie einen Befehl");
      var.setParameter("");
    }

    if (ac == "Join") { var.setBefehl("JOIN"); }
    if (ac == "List") { var.setBefehl("LIST"); }
    if (ac == "Notice") { var.setBefehl("NOTICE"); }
    if (ac == "Who") { var.setBefehl("WHO"); }
    if (ac == "PrivMsg") { var.setBefehl("PRIVMSG"); }

    if (ac == "Senden") {
      if (!var.getParameter().startsWith("Geben Sie")) {
        System.out.println("List sets :"+var.getBefehl() + " " + var.getParameter());
        if (var.getStatus() == "verbunden") serv.send(var.getBefehl() + " " + var.getParameter());        
        else var.setBefehl("keine Serververbindung!");
        if (var.getBefehl() == "Nick") {
          var.setBefehl("NOTICE");
          var.setNickName(var.getParameter());
        }
        var.setParameter("");
      }
      
    }
  }    
}

