[Users] opacity slider in a bbar - trouble connecting to selected layer
Eoin Mac Aoidh
eoinyp at yahoo.com
Tue Jul 27 17:13:17 CEST 2010
Thankyou Andreas and Bart.
Bart, I looked at http://trac.geoext.org/ticket/301 and updated layerOpacitySlider.js accordingly.
Thanks to your efforts, given the patch, I would expect to be able to call
slider.setLayer(node.layer);
to attach the layer to the slider, but nothing happens.
My code is:
var slider = new GeoExt.LayerOpacitySlider({ renderTo: document.body, width: 200,value: 100});
....then within the TreePanel:
bbar: [{
text: "Remove layer from Map",
handler: function() {
var node = tree.getSelectionModel().getSelectedNode();
if(node) {
map.removeLayer(node.layer);
}
}
},{
text: "Attach slider to selected layer",
handler: function() {
var node2 = tree.getSelectionModel().getSelectedNode();
if(node2) {
slider.setLayer(node2.layer);
}
}
}]
Right, that's why I wanted to implement:
http://trac.geoext.org/ticket/301
to make it easier to attach a layer to the opacity slider on the fly.
Best regards,
Bart
> Hi,
>
> On Jul 27, 2010, at 10:51 , Eoin Mac Aoidh wrote:
>
>> Hi list,
>> I have a tree containing the layers in my map. It has a bbar with a
>> button to remove a selected layer from the map. Following this template,
>> I am trying to also add in an opacity slider for the selected layer in
>> the bbar: So that you can either remove a selected layer, or change its
>> opacity.
>> I am having trouble connecting the slider to the selected layer.
>> I suspect at least some of the
problem is with the line:
>> "layer: tree.getSelectionModel().getSelectedNode().layer"
>
> The whole problem lies here. At the time you construct the tree, there is
> no selected layer yet. You should construct your OpacitySlider in a
> listener to the tree's click event. In this listener, you also have to
> remove an existing slider if there is one already.
>
> Regards,
> Andreas.
>
>
>> I would appreciate any help regarding how to connect the selected layer
>> with the slider.
>> Many Thanks,
>> Eoin
>>
>> The following is the code I have:
>>
>> var tree = new Ext.tree.TreePanel({
>> region: "center", //NBNBNBNB centER
>> title: "Map Layers",
>> width:
200,
>> autoScroll: true,
>> enableDD: true,
>> lines: false,
>> rootVisible: false,
>> root: new GeoExt.tree.LayerContainer({
>> layerStore: mapPanel.layers,
>> expanded: true
>> }),
>> bbar: [{
>> text: "Remove from Map",
>> handler: function() {
>> var node =
tree.getSelectionModel().getSelectedNode();
>> if(node) {
>> map.removeLayer(node.layer);
>> }
>> }
>> },{
>> xtype: "gx_opacityslider",
>> layer: tree.getSelectionModel().getSelectedNode().layer,
>> aggressive: true,
>> horizontal: true,
>> width: 120,
>>
plugins: new GeoExt.LayerOpacitySliderTip()
>> }
>> ]
>> });
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.geoext.org/pipermail/users/attachments/20100727/b468be3f/attachment.htm
More information about the Users
mailing list