package jetbrains.mps.build.mps.pluginSolution.plugin;
/*Generated by MPS */
import jetbrains.mps.ide.ui.tree.MPSTreeNode;
import javax.swing.Icon;
public class CheckBoxNode<N extends NodeData> extends MPSTreeNode {
protected final N myData;
private boolean myIsChecked = false;
public CheckBoxNode(N rootNode, boolean createChildren) {
super(rootNode);
this.myData = rootNode;
if (createChildren) {
this.createChildren();
}
setText(getNodeText());
}
public String getNodeText() {
return this.myData.getText();
}
public Icon getIconNonFinal(boolean expanded) {
return this.myData.getIcon(expanded);
}
public N getData() {
return this.myData;
}
public boolean isChecked() {
return this.myIsChecked;
}
public void setChecked(boolean checked) {
this.myIsChecked = checked;
}
private void createChildren() {
for (NodeData childNode : this.myData.getChildren()) {
this.add(new CheckBoxNode<N>((N) childNode, true));
}
}
@Override
public boolean isLeaf() {
return !(this.myData.canHaveChildren());
}
}