The attached patch provides several node types for dealing with layers in a tree:
- TriStateCheckboxNode: a node with a third checkbox state, which indicates if none, some or all of its children are checked
- LayerNode: a node representing a layer
- LayerContainer: a node populating ifself with the layers from the provided layer store
- BaseLayerContainer: same as above, but only with base layers
- OverlayLayerContainer: same as above, but only for overlays
- LayerParamsNode: a node representing arrays of layer params (e.g. of OpenLayers.Layer.WMS). Can be used for layer grouping or for adding CQL filters.
The patch also contains an example where users can play around with the layer configuration.