/**
 * 
 */
package icy.gui.inspector;

import icy.gui.frame.ActionFrame;
import icy.preferences.XMLPreferences;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * Frame to change ROI table settings.
 * 
 * @author Stephane
 */
public class RoiSettingFrame extends ActionFrame
{
    final RoiSettingPanel settingPanel;

    public RoiSettingFrame(XMLPreferences viewPreferences, XMLPreferences exportPreferences, final Runnable onValidate)
    {
        super("ROI table setting", true);

        settingPanel = new RoiSettingPanel(viewPreferences, exportPreferences);
        getMainPanel().add(settingPanel, BorderLayout.CENTER);

        setPreferredSize(new Dimension(520, 480));
        setOkAction(new ActionListener()
        {
            @Override
            public void actionPerformed(ActionEvent e)
            {
                // save setting
                settingPanel.save();
                // call callback
                if (onValidate != null)
                    onValidate.run();
            }
        });

        pack();
        addToDesktopPane();
        setVisible(true);
        center();
        requestFocus();
    }
}