package org.chartsy.chatsy.chat.component;
import java.util.Enumeration;
import javax.swing.Icon;
public class CheckNode extends JiveTreeNode
{
public static final int SINGLE_SELECTION = 0;
public static final int DIG_IN_SELECTION = 4;
private int selectionMode;
private boolean isSelected;
private String fullName;
private Object associatedObject;
public CheckNode()
{
this(null);
}
public CheckNode(Object userObject)
{
this(userObject, true, false);
}
public CheckNode(Object userObject, boolean allowsChildren, boolean isSelected)
{
super(userObject, allowsChildren);
this.isSelected = isSelected;
setSelectionMode(DIG_IN_SELECTION);
}
public CheckNode(String userObject, boolean allowsChildren, Icon icon)
{
super(userObject, allowsChildren, icon);
setSelectionMode(DIG_IN_SELECTION);
}
public CheckNode(Object userObject, boolean allowsChildren, boolean isSelected, String name)
{
super(userObject, allowsChildren);
this.isSelected = isSelected;
setSelectionMode(DIG_IN_SELECTION);
fullName = name;
}
public String getFullName()
{
return fullName;
}
public void setSelectionMode(int mode)
{
selectionMode = mode;
}
public int getSelectionMode()
{
return selectionMode;
}
public void setSelected(boolean isSelected)
{
this.isSelected = isSelected;
if (selectionMode == DIG_IN_SELECTION
&& children != null)
{
Enumeration nodeEnum = children.elements();
while (nodeEnum.hasMoreElements())
{
CheckNode node = (CheckNode)nodeEnum.nextElement();
node.setSelected(isSelected);
}
}
}
public boolean isSelected()
{
return isSelected;
}
public Object getAssociatedObject()
{
return associatedObject;
}
public void setAssociatedObject(Object associatedObject)
{
this.associatedObject = associatedObject;
}
}