package io.github.rowak.nanoleafdesktop.ui.dialog;

import java.awt.Color;
import java.awt.Component;
import java.awt.Font;

import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.LineBorder;

import io.github.rowak.nanoleafdesktop.ui.button.CloseButton;
import io.github.rowak.nanoleafdesktop.ui.listener.WindowDragListener;
import net.miginfocom.swing.MigLayout;

public class BasicDialog extends JDialog
{
	protected static final Font FONT = new Font("Tahoma", Font.PLAIN, 20);
	
	protected JPanel contentPanel = new JPanel();
	
	public BasicDialog()
	{
		setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
		setUndecorated(true);
		contentPanel.setLayout(new MigLayout("", "[432.00,grow]", "[][]"));
		contentPanel.setBackground(Color.DARK_GRAY);
		contentPanel.setBorder(new LineBorder(new Color(128, 128, 128), 2));
		setContentPane(contentPanel);
		
		WindowDragListener wdl = new WindowDragListener(50);
		addMouseListener(wdl);
		addMouseMotionListener(wdl);
		
		CloseButton btnClose = new CloseButton(this, JFrame.DISPOSE_ON_CLOSE);
		contentPanel.add(btnClose, "cell 0 0,alignx right,gapx 0 15");
	}
	
	protected void finalize(Component parent)
	{
		pack();
		
		setSize(getWidth() + 15, getHeight());
		setLocationRelativeTo(parent);
	}
}