Beispiel #1
0
class LayersPanel(VerticalPanel):
    def __init__(self, *args, **kwargs):
        super(LayersPanel, self).__init__(*args, **kwargs)
        navbar = NavigationBar()
        navbar.add(HTML('<div class="brand">Layers</div>'))

        b = Button("Edit", StyleName="btn")
        b.addStyleName("btn-inverse")
        b.addStyleName("pull-right")
        navbar.add(b)

        self.add(navbar)

        self._tree = Tree()
        self.add(self._tree)

    def setLayersCollection(self, layers):
        layers.addLoadedListener(self._update_layers)
        self._update_layers(layers)

    def _update_layers(self, layers):
        self._tree.clear()

        if layers.items is None:
            # not yet loaded
            return

        for l in layers.items:
            item = TreeItem(Widget=LayerLabel(l))
            self._tree.addItem(item)