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

import java.awt.Color;

import javax.swing.JComboBox;

import org.freehep.swing.ColorConverter;

import com.l2fprod.common.beans.editor.ComboBoxPropertyEditor;

public class ComboBoxStylePropertyEditor extends ComboBoxPropertyEditor {
    protected Object oldValue;
    protected StylePropertyState currentValue;
    
    public ComboBoxStylePropertyEditor() {
        super();
        currentValue = new StylePropertyState();
    }

    
    public Object getValue() {
        String value = null;
        Object tmp = super.getValue();
        if (tmp instanceof String) value = (String) tmp;
        else if (tmp instanceof Color) value = ColorConverter.get((Color) tmp);
        else if (tmp != null) value = tmp.toString();
        if (value != null && value.trim().equals("")) value = null;
        //System.out.println("ComboBoxStylePropertyEditor.getValue :: value: "+value);
        currentValue.currentValue = value;
        return new StylePropertyState(currentValue);
    }
    
    public void setValue(Object value) {
        String valueString = null;
        if (value instanceof StylePropertyState) valueString = ((StylePropertyState) value).toString(true);
        else if (value != null) valueString = value.toString();
        //System.out.println("ComboBoxStylePropertyEditor.setValue :: equals="+currentValue.equals(value)+", newValue: "+valueString);
        
        oldValue = new StylePropertyState(currentValue);
        if (value == null) currentValue.clear();
        else currentValue = (StylePropertyState) value;
        
        JComboBox combo = (JComboBox) editor;
        combo.removeAllItems();
        for (int i=0; i 

Ads help maintain this website.