Files
Plugin_SN_Basis/functions/ly_visibility_wrapper.py

41 lines
949 B
Python

# sn_basis/functions/ly_visibility_wrapper.py
def is_layer_visible(layer) -> bool:
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())
except Exception:
pass
return False
def set_layer_visible(layer, visible: bool) -> bool:
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
except Exception:
pass
return False