forked from AG_QGIS/Plugin_SN_Basis
Anpassung an den Wrappern für sn_plan41
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user