001: // TreeNode.java
002: // $Id: TreeNode.java,v 1.6 2000/08/16 21:37:57 ylafon Exp $
003: // Author: Jean-Michel.Leon@sophia.inria.fr
004: // (c) COPYRIGHT MIT and INRIA, 1997.
005: // Please first read the full copyright statement in file COPYRIGHT.html
006:
007: package org.w3c.tools.widgets;
008:
009: import java.awt.Image;
010:
011: /**
012: * The representation of a node of a TreeBrowser.
013: *
014: * A TreeNode is used internally by the TreeBrowser to store informations
015: * related to a node.
016: *
017: * It is also given as parameter in the notifications the TreeBrowser send to
018: * handlers.
019: *
020: * @see org.w3c.tools.widgets.TreeBrowser
021: * @see org.w3c.tools.widgets.NodeHandler
022: */
023: public class TreeNode {
024:
025: public static final int NOCHILD = -1;
026:
027: Object item;
028: String label;
029: Image icon;
030: NodeHandler handler = null;
031: int level;
032: int children = NOCHILD;
033: boolean selected = false;
034:
035: TreeNode(Object item, String label, NodeHandler handler,
036: Image icon, int level) {
037: this .item = item;
038: this .label = label;
039: this .icon = icon;
040: this .level = level;
041: this .handler = handler;
042: }
043:
044: /**
045: * Gets the item.
046: */
047: public Object getItem() {
048: return item;
049: }
050:
051: /**
052: * Gets the label.
053: *
054: * @see #setLabel
055: */
056: public String getLabel() {
057: return label;
058: }
059:
060: /**
061: * Gets the current Icon.
062: *
063: * @see #setIcon
064: */
065: public Image getIcon() {
066: return icon;
067: }
068:
069: /**
070: * Gets the handler.
071: */
072: public NodeHandler getHandler() {
073: return handler;
074: }
075:
076: /**
077: * Gets the children
078: */
079: public int getChildren() {
080: return children;
081: }
082:
083: /**
084: * Checks if the Node is selected.
085: */
086: public boolean isSelected() {
087: return selected;
088: }
089:
090: /**
091: * Sets the icon.
092: *
093: * @see #getIcon
094: */
095: public void setIcon(Image i) {
096: icon = i;
097: }
098:
099: /**
100: * Sets the label.
101: *
102: * @see #getLabel
103: */
104: public void setLabel(String l) {
105: label = l;
106: }
107:
108: /**
109: * Sets the children
110: *
111: * @see #getChildren
112: */
113: public void setChildren(int children) {
114: this.children = children;
115: }
116: }
|