package hep.aida.ref.plotter.style.registry;

import hep.aida.ref.plotter.style.editor.ConfigurePreviewPanel;
import hep.aida.ref.plotter.style.editor.StyleEditorPanel;

import java.awt.Dimension;
import java.awt.Toolkit;

import javax.swing.JFrame;
import javax.swing.JSplitPane;

public class StoreEntryEditorPanel extends JSplitPane {
    private StyleStoreEntry entry;
    private StyleEditorPanel stylePanel;
    private JELRuleEditorPanel rulePanel;
    private boolean modified = false;
    
    public StoreEntryEditorPanel(StyleStoreEntry entry) {
        this(entry, false);
    }
    public StoreEntryEditorPanel(StyleStoreEntry entry, boolean showPreview) {
        //super();
        super(JSplitPane.VERTICAL_SPLIT);
        this.entry = entry;
        initComponents(showPreview);
    }
    
    void initComponents(boolean showPreview) {
        if (entry.getRule() != null) rulePanel = new JELRuleEditorPanel((JELRule) entry.getRule());
        ConfigurePreviewPanel cpp = new ConfigurePreviewPanel();
        Class previewType = entry.getPreviewType();
        if (previewType == null) stylePanel = new StyleEditorPanel(entry.getStyle(), cpp);
        else stylePanel = new StyleEditorPanel(entry.getStyle(), cpp, previewType);
        
        this.setBottomComponent(stylePanel);
        if (rulePanel != null) {
            this.setTopComponent(rulePanel);
            this.setDividerLocation(150);
        } else {
            this.setTopComponent(null);
            this.setDividerLocation(0);
        }
        stylePanel.setPreviewVisible(showPreview);        
    }
    
    public String name() { 
        return entry.getName();
    }
    
    public boolean isModified() { 
        if (rulePanel == null) return false;
        return rulePanel.isModified();
    }
    
    public void saveRuleChange() { rulePanel.okAction(); }
    
    public void cancelRuleChange() { rulePanel.cancelAction(); }
    
    public void close() {
        entry = null;
        rulePanel = null;
        stylePanel = null;
    }
    
    public static void main(String[] args) {
        //UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        //LookAndFeelTweaks.tweak();
        //LookAndFeelAddons addon = LookAndFeelAddons.getAddon();

        JFrame frame = new JFrame("TesT");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        String name = "Historgam-1D Style";
        hep.aida.IPlotterFactory pf = hep.aida.IAnalysisFactory.create().createPlotterFactory();
        hep.aida.IPlotterStyle style = pf.createPlotterStyle();
        style.dataBoxStyle().setVisible(true);
        style.dataBoxStyle().backgroundStyle().setColor("Red");
        JELRule rule = new JELRule("OVERLAYNUMBER==2");
        StyleStoreEntry entry = new StyleStoreEntry(name, style, rule);
        StoreEntryEditorPanel panel = new StoreEntryEditorPanel(entry);
        frame.getContentPane().add(panel);
        
        //frame.setSize(500, 300);
        frame.pack();
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        frame.setLocation( (d.width-frame.getSize().width )/2, (d.height-frame.getSize().height )/2 );
        frame.setVisible(true);
    }
        
}

 

Ads help maintain this website.