Basemap-Legende: Rand für weiße Flächen ohne Kontur (#92)

Die Basemap-Styles „Platz“ (Verkehrsfläche, weitere Nutzung) haben eine rein weiße Füllung
ohne Umrandung und waren auf dem weißen Legendenhintergrund unsichtbar. baue_symbole gibt
solchen Flächensymbolen jetzt in der Legende eine dünne graue Randlinie (0,15 mm). Erkannt
wird das an Füllfarbe und fehlender Kontur (braucht_legendenrand), nicht an Style-Namen; der
Basemap-Layer in der Karte bleibt unverändert. Wrapper: QgsSimpleLineSymbolLayer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-02 12:49:01 +02:00
co-authored by Claude Opus 5.5
parent 1dc19d1324
commit 7465904121
4 changed files with 188 additions and 0 deletions
+16
View File
@@ -893,6 +893,7 @@ QgsApplication: Type[Any]
QgsSymbolLayerUtils: Type[Any]
QgsLayoutMeasurement: Type[Any]
QgsLayoutUtils: Type[Any]
QgsSimpleLineSymbolLayer: Type[Any]
SELECT_BEHAVIOR_SET: Any = None
SELECT_RELATION_INTERSECT: Any = None
PROPERTY_TYPE_EXPRESSION: Any = None
@@ -921,6 +922,7 @@ try:
QgsLayoutMeasurement as _QgsLayoutMeasurement,
QgsLayoutUtils as _QgsLayoutUtils,
QgsSymbolLayer as _QgsSymbolLayer,
QgsSimpleLineSymbolLayer as _QgsSimpleLineSymbolLayer,
Qgis as _QgisVT,
)
@@ -940,6 +942,7 @@ try:
QgsSymbolLayerUtils = _QgsSymbolLayerUtils
QgsLayoutMeasurement = _QgsLayoutMeasurement
QgsLayoutUtils = _QgsLayoutUtils
QgsSimpleLineSymbolLayer = _QgsSimpleLineSymbolLayer
SELECT_BEHAVIOR_SET = _QgisVT.SelectBehavior.SetSelection
SELECT_RELATION_INTERSECT = _QgisVT.SelectGeometryRelationship.Intersect
@@ -1112,6 +1115,19 @@ except Exception:
QgsLayoutUtils = _MockQgsLayoutUtils
class _MockQgsSimpleLineSymbolLayer:
def __init__(self, eigenschaften: dict | None = None):
self.eigenschaften = dict(eigenschaften or {})
@staticmethod
def create(eigenschaften: dict) -> "_MockQgsSimpleLineSymbolLayer":
return _MockQgsSimpleLineSymbolLayer(eigenschaften)
def layerType(self) -> str:
return "SimpleLine"
QgsSimpleLineSymbolLayer = _MockQgsSimpleLineSymbolLayer
# QgsRectangle hatte im allgemeinen Mock-Block keinen Ersatz (nur Typannotation).
if "QgsRectangle" not in globals():
class _MockQgsRectangle: