//Jaakko Ojalehto

package teht26;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Käyttöliittymä1 extends JFrame implements ActionListener, Käyttöliittymä {


    private Kontrolleri kontrolleri;
    private JPanel idhaku;
    private JPanel sisaltohaku;
    private JPanel lisääminen;

    private JLabel idPrompt = new JLabel("Entry ID:");
    private JTextField id = new JTextField("", 10);
    private JButton hae = new JButton("Hae id:llä");
    private JTextArea entry = new JTextArea();

    private JLabel hakulausePrompt = new JLabel("Hakulause:");
    private JTextField hakulause = new JTextField("", 10);
    private JButton haeHakulause = new JButton("Hae hakulauseella");

    private JLabel lisäysPrompt = new JLabel("Merkintä:");
    private JTextField lisäys = new JTextField("", 10);
    private JButton lisaa = new JButton("Lisää merkintä");

    public Käyttöliittymä1() {

        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLayout(new BorderLayout());

        idhaku = new JPanel();
        idhaku.add(idPrompt);
        idhaku.add(id);
        idhaku.add(hae);
        hae.addActionListener(this);

        sisaltohaku = new JPanel();
        sisaltohaku.add(hakulausePrompt);
        sisaltohaku.add(hakulause);
        sisaltohaku.add(haeHakulause);
        haeHakulause.addActionListener(this);

        lisääminen = new JPanel();
        lisääminen.add(lisäysPrompt);
        lisääminen.add(lisäys);
        lisääminen.add(lisaa);
        lisaa.addActionListener(this);

        add(idhaku, BorderLayout.CENTER);
        add(sisaltohaku, BorderLayout.EAST);
        add(entry, BorderLayout.SOUTH);
        add(lisääminen, BorderLayout.NORTH);

        setSize(new Dimension(400, 400));
        setTitle("Päiväkirja");

        pack();
        setLocationRelativeTo(null);
        setVisible(true);
    }

    public void setKontrolleri(Kontrolleri k) {
        this.kontrolleri = k;
    }

    public int getId() {
        return Integer.parseInt(id.getText());
    }

    public String getHakulause() {
        return (hakulause.getText());
    }

    public String getLisäys() {
        return (lisäys.getText());
    }

    public void setEntry(String entryText) {
        entry.setText(entryText);
        pack();
    }

    public void actionPerformed(ActionEvent e) {
        if(e.getActionCommand().equals("Hae id:llä")) {
            kontrolleri.haeId();
        }
        if(e.getActionCommand().equals("Hae hakulauseella")) {
            kontrolleri.haeHakulause();
        }

        if(e.getActionCommand().equals("Lisää merkintä")) {
            kontrolleri.lisää();
        }
    }
}

