package jnet.lib;

import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;


public class LogWindow {
    
    private JFrame frame = new JFrame("Log aplikace");
    private static JTextArea logTextArea = new JTextArea();

    public LogWindow() {
        // Vytvoření hlavního okna
        
        frame.setSize(1000, 600);
        
        // Nastavení, že okno bude spuštěno minimalizované
        frame.setExtendedState(JFrame.ICONIFIED);  // Minimalizované okno
        
        // Přidání vlastního chování při zavření okna
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                // Můžete přidat vlastní logiku (např. skrytí okna místo jeho zavření)
                //frame.setVisible(false); // Skrytí okna místo zavření
            }
        });

        // Hlavní panel
        JPanel mainPanel = new JPanel(new BorderLayout());

        // Textová oblast pro logy
        
        logTextArea.setEditable(false); // Zamezení úprav uživatelem
        logTextArea.setFont(new Font("Monospaced", Font.PLAIN, 12)); // Monospace font pro logy

        // Posuvník pro textovou oblast
        JScrollPane scrollPane = new JScrollPane(logTextArea);
        scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

        // Přidání scrollovacího panelu do hlavního panelu
        mainPanel.add(scrollPane, BorderLayout.CENTER);
        
        // Přidání hlavního panelu do okna
        frame.add(mainPanel);

        // Zobrazení okna
        frame.setVisible(true);

    }
    
    public static void addRow(String msg){
        logTextArea.append(msg + "\n");

            // Automatické posunutí na konec
            logTextArea.setCaretPosition(logTextArea.getDocument().getLength());
    }
    
    

}
