Anpassung an den Wrappern für sn_plan41

This commit is contained in:
2026-01-08 17:13:51 +01:00
parent f88b5da51f
commit b805f78f02
26 changed files with 401 additions and 125 deletions

View File

@@ -1,17 +1,19 @@
# sn_basis/functions/ly_visibility_wrapper.py
def is_layer_visible(layer) -> bool:
"""
Prüft, ob ein Layer im Layer-Tree sichtbar ist.
"""
if layer is None:
return False
visible = getattr(layer, "visible", None)
if visible is not None:
return bool(visible)
try:
is_visible = getattr(layer, "isVisible", None)
if callable(is_visible):
return bool(is_visible())
node = getattr(layer, "treeLayer", None)
if callable(node):
tree_node = node()
is_visible = getattr(tree_node, "isVisible", None)
if callable(is_visible):
return bool(is_visible())
except Exception:
pass
@@ -19,21 +21,20 @@ def is_layer_visible(layer) -> bool:
def set_layer_visible(layer, visible: bool) -> bool:
"""
Setzt die Sichtbarkeit eines Layers im Layer-Tree.
"""
if layer is None:
return False
try:
if hasattr(layer, "visible"):
layer.visible = bool(visible)
return True
except Exception:
pass
try:
node = getattr(layer, "treeLayer", lambda: None)()
if node and callable(getattr(node, "setItemVisibilityChecked", None)):
node.setItemVisibilityChecked(bool(visible))
return True
node = getattr(layer, "treeLayer", None)
if callable(node):
tree_node = node()
setter = getattr(tree_node, "setItemVisibilityChecked", None)
if callable(setter):
setter(bool(visible))
return True
except Exception:
pass