001// License: GPL. For details, see Readme.txt file.
002package org.openstreetmap.gui.jmapviewer.checkBoxTree;
003
004import org.openstreetmap.gui.jmapviewer.AbstractLayer;
005import org.openstreetmap.gui.jmapviewer.LayerGroup;
006
007/**
008 * Node Data for checkBox Tree
009 *
010 * @author galo
011 */
012public class CheckBoxNodeData {
013    private AbstractLayer layer;
014
015    public CheckBoxNodeData(final AbstractLayer layer) {
016        this.layer = layer;
017    }
018
019    public CheckBoxNodeData(final String txt) {
020        this(new LayerGroup(txt));
021    }
022
023    public CheckBoxNodeData(final String txt, final Boolean selected) {
024        this(new LayerGroup(txt));
025        layer.setVisible(selected);
026    }
027
028    public Boolean isSelected() {
029        return layer.isVisible();
030    }
031
032    public void setSelected(final Boolean newValue) {
033        layer.setVisible(newValue);
034    }
035
036    public String getText() {
037        return layer.getName();
038    }
039
040    public AbstractLayer getAbstractLayer() {
041        return layer;
042    }
043
044    public void setAbstractLayer(final AbstractLayer layer) {
045        this.layer = layer;
046    }
047
048    @Override
049    public String toString() {
050        return getClass().getSimpleName() + '[' + getText() + '/' + isSelected() + ']';
051    }
052}