package com.smartgwt.sample.showcase.client.data;
import com.smartgwt.client.widgets.tree.TreeNode;
import com.smartgwt.sample.showcase.client.PanelFactory;
public class ExplorerTreeNode extends TreeNode {
public ExplorerTreeNode(String name, String nodeID, String parentNodeID, String icon, PanelFactory factory, boolean enabled, String idSuffix) {
if (enabled) {
setName(name);
} else {
setName("<span style='color:808080'>" + name + "</span>");
}
setNodeID(nodeID.replace("-", "_") + idSuffix);
setThumbnail("thumbnails/" + nodeID.replace("-", "_") + ".gif");
setParentNodeID(parentNodeID.replace("-", "_") + idSuffix);
setIcon(icon);
setFactory(factory);
if(nodeID.equals("featured-category") || nodeID.equals("new-category")) {
setIsOpen(true);
}
}
public void setFactory(PanelFactory factory) {
setAttribute("factory", factory);
}
public PanelFactory getFactory() {
return (PanelFactory) getAttributeAsObject("factory");
}
public void setNodeID(String value) {
setAttribute("nodeID", value);
}
public String getNodeID() {
return getAttribute("nodeID");
}
public void setParentNodeID(String value) {
setAttribute("parentNodeID", value);
}
public void setName(String name) {
setAttribute("nodeTitle", name);
}
public String getName() {
return getAttributeAsString("nodeTitle");
}
public void setIcon(String icon) {
setAttribute("icon", icon);
}
public String getIcon() {
return getAttributeAsString("icon");
}
public void setThumbnail(String thumbnail) {
setAttribute("thumbnail", thumbnail);
}
public String getThumbnail() {
return getAttributeAsString("thumbnail");
}
public void setIsOpen(boolean isOpen) {
setAttribute("isOpen", isOpen);
}
public void setIconSrc(String iconSrc) {
setAttribute("iconSrc", iconSrc);
}
public String getIconSrc() {
return getAttributeAsString("iconSrc");
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ExplorerTreeNode that = (ExplorerTreeNode) o;
if (!getName().equals(that.getName())) return false;
return true;
}
@Override
public int hashCode() {
return getName().hashCode();
}
}