active_bsdd_property - make implied type more explicit

This commit is contained in:
Andrej730
2025-09-02 17:11:38 +05:00
parent d5ff48fbc9
commit d419e50ece
+6 -3
View File
@@ -36,7 +36,7 @@ import bonsai.bim
import bonsai.tool as tool
from ifcopenshell.util.file import IfcHeaderExtractor
from bonsai.bim.prop import Attribute
from bonsai.bim.module.bsdd.prop import BIMBSDDProperties
from bonsai.bim.module.bsdd.prop import BIMBSDDProperties, BSDDProperty
from bonsai.bim.module.pset.prop import IfcProperty
from typing import Optional, TYPE_CHECKING, Literal
from natsort import natsorted
@@ -1458,10 +1458,13 @@ def draw_custom_context_menu(self: bpy.types.Menu, context: bpy.types.Context) -
if attr_name:
op = layout.operator("bim.copy_text_to_clipboard", text="Copy Attribute Name", icon="COPYDOWN")
op.text = attr_name
elif isinstance(prop_struct, BIMBSDDProperties) and hasattr(context, "active_bsdd_property"):
elif isinstance(prop_struct, BIMBSDDProperties) and (
active_bsdd_property := getattr(context, "active_bsdd_property", None)
):
# Context Menu for bSDD Properties
assert isinstance(active_bsdd_property, BSDDProperty)
op_description = layout.operator("bim.show_bsdd_description", text="bSDD Description", icon="INFO")
op_description.url = context.active_bsdd_property.uri
op_description.url = active_bsdd_property.uri
else:
# Basically context menu for any Blender property will end up here,
# and will check 3 types of docs.