Package cli_fmw.utils.chooser

Source Code of cli_fmw.utils.chooser.ChoosePanelComboModel

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package cli_fmw.utils.chooser;

import cli_fmw.utils.chooser.ChoosePanelComboListener;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.DefaultComboBoxModel;

/**
*
* @author axe
*/
public class ChoosePanelComboModel extends DefaultComboBoxModel {
    private boolean silent;
   
    private ArrayList<ChoosePanelComboListener> selectionListeners
            = new ArrayList<ChoosePanelComboListener>();

    public void addChoosePanelListener(ChoosePanelComboListener l) {
        selectionListeners.add(l);
    }

    public void removeChoosePanelListener(ChoosePanelComboListener l) {
        selectionListeners.remove(l);
    }

    protected void fireSelectionChange(Object newValue) throws ChoosePanelComboException {
        if(silent) {
            return;
        }
        ChoosePanelData sel = (ChoosePanelData)newValue;
        Iterator it = selectionListeners.iterator();
        while (it.hasNext()) {
            ChoosePanelComboListener l = (ChoosePanelComboListener) it.next();
            l.chooseDone(sel.type, sel.value);
        }
    }

    @Override
    public void setSelectedItem(Object anItem) {
        try {
            fireSelectionChange(anItem);
            super.setSelectedItem(anItem);
        } catch(ChoosePanelComboException ex) {
            //chacge blocked by user application
        }
    }
   
    public void setSilent(boolean silent) {
        this.silent = silent;
    }
}
TOP

Related Classes of cli_fmw.utils.chooser.ChoosePanelComboModel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.