Coverage for gws-app/gws/plugin/legend/combined/__init__.py: 0%
22 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-17 01:37 +0200
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-17 01:37 +0200
1from typing import Optional, cast
3import gws
4import gws.lib.image
5import gws.lib.mime
6import gws.base.legend
10gws.ext.new.legend('combined')
13class Config(gws.base.legend.Config):
14 """Combined legend."""
16 layerUids: list[str]
17 """layers"""
20class Object(gws.base.legend.Object):
21 layerUids: list[str]
23 def configure(self):
24 self.layerUids = self.cfg('layerUids')
26 def render(self, args=None):
27 outputs = []
29 for uid in self.layerUids:
30 layer = cast(gws.Layer, self.root.get(uid, gws.ext.object.layer))
31 if layer and layer.legend:
32 lro = layer.legend.render(args)
33 if lro:
34 outputs.append(lro)
36 return gws.base.legend.combine_outputs(outputs, self.options)