net.sf.j3d.threeD.ui.tree
Class ShaderTreeNode

java.lang.Object
  extended by net.sf.j3d.threeD.ui.tree.ShaderTreeNode
All Implemented Interfaces:
Iterable, Collection, List, TreeNode, Editable

public class ShaderTreeNode
extends Object
implements Editable, TreeNode, List

A ShaderTreeNode object wraps a Shader object and allows it to be displayed in a tree.

Author:
Mike Murray

Nested Class Summary
 
Nested classes/interfaces inherited from interface net.sf.j3d.threeD.raytracer.util.Editable
Editable.Selection
 
Constructor Summary
ShaderTreeNode(Shader s, TreeNode parent)
          Constructs a new ShaderTreeNode object.
 
Method Summary
 void add(int index, Object o)
           
 boolean add(Object o)
           
 boolean addAll(Collection c)
           
 boolean addAll(int index, Collection c)
           
 Enumeration children()
           
 void clear()
           
 boolean contains(Object o)
           
 boolean containsAll(Collection c)
           
 boolean equals(Object o)
           
 Object get(int index)
           
 boolean getAllowsChildren()
           
 TreeNode getChildAt(int index)
           
 int getChildCount()
           
 int getIndex(TreeNode node)
           
 Producer[] getInputPropertyValues()
           
 TreeNode getParent()
           
 String[] getPropertyDescriptions()
          Returns an array of String objects with descriptions for each editable property of this Editable object.
 String[] getPropertyNames()
          Returns an array of String objects with names for each editable property of this Editable object.
 Class[] getPropertyTypes()
          Returns an array of Class objects representing the class types of each editable property of this Editable object.
 Object[] getPropertyValues()
          Returns the values of the properties of this Editable object as an Object array.
 Shader getShader()
           
 int hashCode()
           
 int indexOf(Object o)
           
 boolean isEmpty()
           
 boolean isLeaf()
           
 Iterator iterator()
           
 int lastIndexOf(Object o)
           
 ListIterator listIterator()
           
 ListIterator listIterator(int i)
           
 Object remove(int index)
           
 boolean remove(Object o)
           
 boolean removeAll(Collection c)
           
 boolean retainAll(Collection c)
           
 Object set(int index, Object o)
           
 void setInputPropertyValue(int index, Producer p)
           
 void setPropertyValue(Object value, int index)
          Sets the value of the property of this Editable object at the specified index to the specified value.
 void setPropertyValues(Object[] values)
          Sets the values of properties of this Editable object to those specified.
 int size()
           
 List subList(int start, int end)
           
 Object[] toArray()
           
 Object[] toArray(Object[] o)
           
 String toString()
           
 void updateChildren()
          Updates the list of child nodes stored by this ShaderTreeNode object.
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ShaderTreeNode

public ShaderTreeNode(Shader s,
                      TreeNode parent)
Constructs a new ShaderTreeNode object.

Parameters:
s - Shader object to use.
Method Detail

getShader

public Shader getShader()
Returns:
The Shader object stored by this ShaderTreeNode object.

getChildCount

public int getChildCount()
Specified by:
getChildCount in interface TreeNode
See Also:
TreeNode.getChildCount()

getAllowsChildren

public boolean getAllowsChildren()
Specified by:
getAllowsChildren in interface TreeNode
See Also:
TreeNode.getAllowsChildren()

isLeaf

public boolean isLeaf()
Specified by:
isLeaf in interface TreeNode
See Also:
TreeNode.isLeaf()

children

public Enumeration children()
Specified by:
children in interface TreeNode
See Also:
TreeNode.children()

getParent

public TreeNode getParent()
Specified by:
getParent in interface TreeNode
See Also:
TreeNode.getParent()

getChildAt

public TreeNode getChildAt(int index)
Specified by:
getChildAt in interface TreeNode
See Also:
TreeNode.getChildAt(int)

getIndex

public int getIndex(TreeNode node)
Specified by:
getIndex in interface TreeNode
See Also:
TreeNode.getIndex(javax.swing.tree.TreeNode)

updateChildren

public void updateChildren()
Updates the list of child nodes stored by this ShaderTreeNode object.


getPropertyNames

public String[] getPropertyNames()
Description copied from interface: Editable
Returns an array of String objects with names for each editable property of this Editable object.

Specified by:
getPropertyNames in interface Editable
See Also:
Editable.getPropertyNames()

getPropertyDescriptions

public String[] getPropertyDescriptions()
Description copied from interface: Editable
Returns an array of String objects with descriptions for each editable property of this Editable object.

Specified by:
getPropertyDescriptions in interface Editable
See Also:
Editable.getPropertyDescriptions()

getPropertyTypes

public Class[] getPropertyTypes()
Description copied from interface: Editable
Returns an array of Class objects representing the class types of each editable property of this Editable object.

Specified by:
getPropertyTypes in interface Editable
See Also:
Editable.getPropertyTypes()

getPropertyValues

public Object[] getPropertyValues()
Description copied from interface: Editable
Returns the values of the properties of this Editable object as an Object array.

Specified by:
getPropertyValues in interface Editable
See Also:
Editable.getPropertyValues()

setPropertyValue

public void setPropertyValue(Object value,
                             int index)
Description copied from interface: Editable
Sets the value of the property of this Editable object at the specified index to the specified value.

Specified by:
setPropertyValue in interface Editable
See Also:
Editable.setPropertyValue(java.lang.Object, int)

setPropertyValues

public void setPropertyValues(Object[] values)
Description copied from interface: Editable
Sets the values of properties of this Editable object to those specified.

Specified by:
setPropertyValues in interface Editable
See Also:
Editable.setPropertyValues(java.lang.Object[])

equals

public boolean equals(Object o)
Specified by:
equals in interface Collection
Specified by:
equals in interface List
Overrides:
equals in class Object

hashCode

public int hashCode()
Specified by:
hashCode in interface Collection
Specified by:
hashCode in interface List
Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class Object

size

public int size()
Specified by:
size in interface Collection
Specified by:
size in interface List
Returns:
this.getChildCount().

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface Collection
Specified by:
isEmpty in interface List
See Also:
List.isEmpty()

contains

public boolean contains(Object o)
Specified by:
contains in interface Collection
Specified by:
contains in interface List
See Also:
List.contains(java.lang.Object)

iterator

public Iterator iterator()
Specified by:
iterator in interface Iterable
Specified by:
iterator in interface Collection
Specified by:
iterator in interface List
See Also:
List.iterator()

toArray

public Object[] toArray()
Specified by:
toArray in interface Collection
Specified by:
toArray in interface List
See Also:
List.toArray()

toArray

public Object[] toArray(Object[] o)
Specified by:
toArray in interface Collection
Specified by:
toArray in interface List
Returns:
this.toArray().

add

public boolean add(Object o)
Specified by:
add in interface Collection
Specified by:
add in interface List
See Also:
List.add(java.lang.Object)

remove

public boolean remove(Object o)
Specified by:
remove in interface Collection
Specified by:
remove in interface List
See Also:
List.remove(java.lang.Object)

containsAll

public boolean containsAll(Collection c)
Specified by:
containsAll in interface Collection
Specified by:
containsAll in interface List
See Also:
List.containsAll(java.util.Collection)

addAll

public boolean addAll(Collection c)
Specified by:
addAll in interface Collection
Specified by:
addAll in interface List
See Also:
List.addAll(java.util.Collection)

addAll

public boolean addAll(int index,
                      Collection c)
Specified by:
addAll in interface List
Returns:
false.
See Also:
List.addAll(int, java.util.Collection)

removeAll

public boolean removeAll(Collection c)
Specified by:
removeAll in interface Collection
Specified by:
removeAll in interface List
See Also:
List.removeAll(java.util.Collection)

retainAll

public boolean retainAll(Collection c)
Specified by:
retainAll in interface Collection
Specified by:
retainAll in interface List
Returns:
false.
See Also:
List.retainAll(java.util.Collection)

clear

public void clear()
Specified by:
clear in interface Collection
Specified by:
clear in interface List
See Also:
List.clear()

get

public Object get(int index)
Specified by:
get in interface List
See Also:
List.get(int)

set

public Object set(int index,
                  Object o)
Specified by:
set in interface List
See Also:
List.set(int, java.lang.Object)

add

public void add(int index,
                Object o)
Specified by:
add in interface List
See Also:
List.add(int, java.lang.Object)

remove

public Object remove(int index)
Specified by:
remove in interface List
See Also:
List.remove(int)

indexOf

public int indexOf(Object o)
Specified by:
indexOf in interface List
See Also:
List.indexOf(java.lang.Object)

lastIndexOf

public int lastIndexOf(Object o)
Specified by:
lastIndexOf in interface List
See Also:
List.lastIndexOf(java.lang.Object)

listIterator

public ListIterator listIterator()
Specified by:
listIterator in interface List
Returns:
null.
See Also:
List.listIterator()

listIterator

public ListIterator listIterator(int i)
Specified by:
listIterator in interface List
Returns:
null.
See Also:
List.listIterator(int)

subList

public List subList(int start,
                    int end)
Specified by:
subList in interface List
Returns:
null.
See Also:
List.subList(int, int)

getInputPropertyValues

public Producer[] getInputPropertyValues()
Specified by:
getInputPropertyValues in interface Editable
Returns:
An array of Producer objects containing the property values of those properties that are repeatedly evaluated.
See Also:
Editable.getInputPropertyValues()

setInputPropertyValue

public void setInputPropertyValue(int index,
                                  Producer p)
Specified by:
setInputPropertyValue in interface Editable
Parameters:
index - Index of input property (array index from this.getInputPropertyValue).
p - Producer object to use for input property.
See Also:
Editable.setInputPropertyValue(int, net.sf.j3d.threeD.raytracer.util.Producer)