2025-12-19 14:29:52 +01:00
|
|
|
# sn_basis/functions/ly_visibility_wrapper.py
|
|
|
|
|
|
|
|
|
|
def is_layer_visible(layer) -> bool:
|
2026-01-08 17:13:51 +01:00
|
|
|
"""
|
|
|
|
|
Prüft, ob ein Layer im Layer-Tree sichtbar ist.
|
|
|
|
|
"""
|
2025-12-19 14:29:52 +01:00
|
|
|
if layer is None:
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
try:
|
2026-01-08 17:13:51 +01:00
|
|
|
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())
|
2025-12-19 14:29:52 +01:00
|
|
|
except Exception:
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def set_layer_visible(layer, visible: bool) -> bool:
|
2026-01-08 17:13:51 +01:00
|
|
|
"""
|
|
|
|
|
Setzt die Sichtbarkeit eines Layers im Layer-Tree.
|
|
|
|
|
"""
|
2025-12-19 14:29:52 +01:00
|
|
|
if layer is None:
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
try:
|
2026-01-08 17:13:51 +01:00
|
|
|
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
|
2025-12-19 14:29:52 +01:00
|
|
|
except Exception:
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
return False
|