package biblioteka_gui;

import javax.swing.*;
//import java.awt.*;
import java.awt.event.*;


/**
 * Klasa dziedziczaca po klasie JFrame, implementujaca interfejs ActionListener
 * <br>Wyswietla okno z mozliwoscia wybrania/wpisania sciezek ktore system ma uznac za domyslne
 * @author w21826
 * @see JFrGlowne
 */
public class JFrSciezki extends JFrame implements ActionListener
{
	/**
	 * Etykieta wyswietlajaca tekst "Sciezka do zapisu/odczytu ksiazek"
	 */
	JLabel etykieta_sciezka_ksiazki;
	/**
	 * Etykieta tekstowa sluzaca do pobrania wskazanej przez uzytkownika sciezki jako domyslnej sciezki zapisu/odczytu bazy ksiazek
	 * <br>Jesli sciezka nie zostanie podana to za domyslna zostanie ustawiona sciezka $HOME
	 */
	JTextField sciezka_ksiazki;
	/**
	 * Etykieta wyswietlajaca tekst "Sciezka do zapisu/odczytu czytelnikow"
	 */
	JLabel etykieta_sciezka_czytelnicy;
	/**
	 * Etykieta tekstowa sluzaca do pobrania wskazanej przez uzytkownika sciezki jako domyslnej sciezki zapisu/odczytu bazy czytelnikow
	 * <br>Jesli sciezka nie zostanie podana to za domyslna zostanie ustawiona sciezka $HOME
	 */
	JTextField sciezka_czytelnicy;
	/**
	 * Przycisk sluzacy do ustawienia sciezki bazy ksiazek i czytelnikow na podane przez uzytkownika
	 */
	JButton przycisk_ustaw;
	/**
	 * Przycisk sluzacy do anulowania operacji ustawiania sciezek przez uzytkownika, okno zostaje zamkniete
	 */
	JButton przycisk_anuluj;

		   public JFrSciezki()
	   {
			this.setLayout(null);
			this.setTitle("Ustaw domyślne scieżki programu w postaci x:\\folder\\");
			
			JFrGlowne.log.info("Zmienianie domyślnych ścieżek zapisu/odczytu");
			etykieta_sciezka_ksiazki = new JLabel("Ścieżka do zapisu/odczytu książek");
			etykieta_sciezka_ksiazki.setSize(300,30);
			etykieta_sciezka_ksiazki.setLocation(20,20);
			this.add(etykieta_sciezka_ksiazki);
			sciezka_ksiazki = new JTextField();
			sciezka_ksiazki.setText("" + JFrGlowne.sciezka_ksiazki);
			sciezka_ksiazki.setSize(200,30);
			sciezka_ksiazki.setLocation(320,20);
			this.add(sciezka_ksiazki);
			etykieta_sciezka_czytelnicy = new JLabel("Ścieżka do zapisu/odczytu czytelników");
			etykieta_sciezka_czytelnicy.setSize(300,30);
			etykieta_sciezka_czytelnicy.setLocation(20,70);
			this.add(etykieta_sciezka_czytelnicy);
			sciezka_czytelnicy = new JTextField();
			sciezka_czytelnicy.setText("" + JFrGlowne.sciezka_czytelnicy);
			sciezka_czytelnicy.setSize(200,30);
			sciezka_czytelnicy.setLocation(320,70);
			this.add(sciezka_czytelnicy);
			
			przycisk_ustaw = new JButton("Ustaw");
			przycisk_ustaw.setSize(100,50);
			przycisk_ustaw.setLocation(180,200);
			this.add(przycisk_ustaw);
			przycisk_ustaw.addActionListener(this);
			przycisk_anuluj = new JButton("Anuluj");
			przycisk_anuluj.setSize(100,50);
			przycisk_anuluj.setLocation(280,200);
			this.add(przycisk_anuluj);
			przycisk_anuluj.addActionListener(this);
			
			this.setSize(800,600);
			this.setVisible( true );
	   }
	    
	/**
	* Metoda redefiniujaca metode actionPerformed z interfejsu ActionListener
	* @param e definiuje zdarzenie
	*/
	   public void actionPerformed(ActionEvent e)
	   {
		   if(e.getActionCommand() == "Ustaw")
		   {
			   JFrGlowne.sciezka_czytelnicy=sciezka_czytelnicy.getText();
			   JFrGlowne.sciezka_ksiazki=sciezka_ksiazki.getText();
			   JOptionPane.showMessageDialog(this, "Ustawiono\nścieżkę książek " + JFrGlowne.sciezka_ksiazki + "\n" + "ścieżkę czytelników " + JFrGlowne.sciezka_czytelnicy, "Informacja", JOptionPane.INFORMATION_MESSAGE);
			   JFrGlowne.log.info("Ustawiono ścieżkę książek " + JFrGlowne.sciezka_ksiazki + " i ścieżkę czytelników " + JFrGlowne.sciezka_czytelnicy);
			   this.dispose();
		   }
	   	   if(e.getActionCommand() == "Anuluj")
	   	   {
	   		   this.dispose();
	   	   }
	   }
}