gov.nasa.worldwind.util.layertree
Class KMLLayerTreeNode
java.lang.Object
gov.nasa.worldwind.avlist.AVListImpl
gov.nasa.worldwind.WWObjectImpl
gov.nasa.worldwind.util.tree.BasicTreeNode
gov.nasa.worldwind.util.layertree.LayerTreeNode
gov.nasa.worldwind.util.layertree.KMLLayerTreeNode
- All Implemented Interfaces:
- AVList, MessageListener, TreeNode, WWObject, PropertyChangeListener, EventListener
public class KMLLayerTreeNode
- extends LayerTreeNode
A LayerTreeNode that represents a KML feature hierarchy defined by a KMLRoot.
- See Also:
KMLFeatureTreeNode
|
Field Summary |
protected KMLRoot |
kmlRoot
Indicates the KML feature hierarchy this node represents. |
|
Method Summary |
protected void |
addChildFeatures()
Adds a new KMLFeatureTreeNode to this node for each KML feature in the KMLRoot. |
protected void |
addFeatureNode(KMLAbstractFeature feature)
Adds the a new KMLFeatureTreeNode created with the specified feature to this node. |
void |
expandOpenContainers(Tree tree)
Expands paths in the specified tree corresponding to open KML container elements. |
protected boolean |
mustExpandNode()
Indicates whether the tree path for this node must expanded. |
protected void |
refresh()
Refresh the tree model to match the contents of the KML document. |
void |
setSelected(boolean selected)
Specifies whether this node's layer is enabled for rendering. |
| Methods inherited from class gov.nasa.worldwind.util.tree.BasicTreeNode |
addChild, addChild, computeTreeSelected, getChildren, getDescription, getImageSource, getParent, getPath, getText, getTexture, hasImage, initializeTexture, isEnabled, isLeaf, isTreeSelected, isVisible, propertyChange, removeAllChildren, removeChild, setDescription, setEnabled, setImageSource, setParent, setVisible |
| Methods inherited from class gov.nasa.worldwind.avlist.AVListImpl |
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getBooleanValue, getBooleanValue, getChangeSupport, getDoubleValue, getDoubleValue, getEntries, getIntegerValue, getIntegerValue, getLongValue, getLongValue, getRestorableStateForAVPair, getStringValue, getStringValue, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface gov.nasa.worldwind.avlist.AVList |
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues |
kmlRoot
protected KMLRoot kmlRoot
- Indicates the KML feature hierarchy this node represents. Initialized during construction.
KMLLayerTreeNode
public KMLLayerTreeNode(Layer layer,
KMLRoot kmlRoot)
- Creates a new
KMLLayerTreeNode from the specified layer and kmlRoot. The
node's name is set to the layer's name, and the node's hierarchy is populated from the feature hierarchy of the
KMLRoot.
- Parameters:
layer - the Layer the kmlRoot corresponds to.kmlRoot - the KML feature hierarchy this node represents.
- Throws:
IllegalArgumentException - if the layer is null, or if kmlRoot is
null.
addChildFeatures
protected void addChildFeatures()
- Adds a new
KMLFeatureTreeNode to this node for each KML feature in the KMLRoot.
If the KMLRoot's top level feature is a Document or Folder, this method
ignores this container and adds its children directly to this node. Creating a node for the container adds an
extra level to the tree node that doesn't provide any meaningful grouping.
This does nothing if the KMLRoot's top level feature is null.
addFeatureNode
protected void addFeatureNode(KMLAbstractFeature feature)
- Adds the a new
KMLFeatureTreeNode created with the specified feature to this node.
- Parameters:
feature - the KML feature to add.
expandOpenContainers
public void expandOpenContainers(Tree tree)
- Expands paths in the specified
tree corresponding to open KML container elements. This assumes that
the tree's model contains this node.
This node's path is expanded if it's top level KML feature is an open KML container, an open KML network link, or
is any other kind of KML feature.
This calls expandOpenContainers on all children which are instances of
KMLFeatureTreeNode.
- Parameters:
tree - the Tree who's paths should be expanded.
- Throws:
IllegalArgumentException - if the tree is null.
mustExpandNode
protected boolean mustExpandNode()
- Indicates whether the tree path for this node must expanded. If the
KMLRoot's feature is a KML
container or a KML network link, this returns whether that KML element's open property is
true. Otherwise this returns true
- Returns:
true if the tree path for this node must be expanded, otherwise false.
refresh
protected void refresh()
- Refresh the tree model to match the contents of the KML document.
setSelected
public void setSelected(boolean selected)
- Specifies whether this node's layer is enabled for rendering. If the KMLRoot's feature is a container (Document
or Folder), this method sets the visibility of that container as well as the node that represents the layer.
- Specified by:
setSelected in interface TreeNode- Overrides:
setSelected in class LayerTreeNode
- Parameters:
selected - true to enable the layer, otherwise false.- See Also:
TreeNode.isSelected()