001package org.openstreetmap.gui.jmapviewer.checkBoxTree;
002
003import java.awt.BorderLayout;
004import java.awt.Insets;
005
006import javax.swing.JCheckBox;
007import javax.swing.JLabel;
008import javax.swing.JPanel;
009
010/**
011 * Node Panel for checkBox Tree
012 * 
013 * @author galo
014 */
015public class CheckBoxNodePanel extends JPanel {
016    /** Serial Version UID */
017    private static final long serialVersionUID = -7236481597785619029L;
018    private final JLabel label = new JLabel();
019    private CheckBoxNodeData data;
020    public final JCheckBox check = new JCheckBox();
021
022    public CheckBoxNodePanel() {
023        this.check.setMargin(new Insets(0, 0, 0, 0));
024        setLayout(new BorderLayout());
025        add(check, BorderLayout.WEST);
026        add(label, BorderLayout.CENTER);
027    }
028    public void setSelected(Boolean bool){
029        if(bool==null){
030            check.getModel().setPressed(true);
031            check.getModel().setArmed(true);
032        }else{
033            check.setSelected(bool.booleanValue());
034            check.getModel().setArmed(false);
035        }
036    }
037    public CheckBoxNodeData getData() {
038        data.setSelected(check.isSelected());
039        return data;
040    }
041    public void setData(CheckBoxNodeData data) {
042        this.data = data;
043        label.setText(data.getText());
044    }
045    public JLabel getLabel() {
046        return label;
047    }
048}