From 00f7871386cc7df6d562c0afc1b3f68d538f3ec2 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 16 Jul 2025 11:07:02 +0500 Subject: [PATCH] BIM_UL_topics - move to bcf module --- src/bonsai/bonsai/bim/__init__.py | 1 - src/bonsai/bonsai/bim/module/bcf/__init__.py | 1 + src/bonsai/bonsai/bim/module/bcf/ui.py | 26 ++++++++++++++++++++ src/bonsai/bonsai/bim/ui.py | 9 ------- 4 files changed, 27 insertions(+), 10 deletions(-) diff --git a/src/bonsai/bonsai/bim/__init__.py b/src/bonsai/bonsai/bim/__init__.py index 19e07725ef..7ff9858430 100644 --- a/src/bonsai/bonsai/bim/__init__.py +++ b/src/bonsai/bonsai/bim/__init__.py @@ -145,7 +145,6 @@ classes = [ prop.BIMSnapGroups, ui.BIM_UL_clipping_plane, ui.BIM_UL_generic, - ui.BIM_UL_topics, ui.DocPreferences, ui.BIM_ADDON_preferences, # Tabs panel diff --git a/src/bonsai/bonsai/bim/module/bcf/__init__.py b/src/bonsai/bonsai/bim/module/bcf/__init__.py index c76e31d6f5..e7153974f4 100644 --- a/src/bonsai/bonsai/bim/module/bcf/__init__.py +++ b/src/bonsai/bonsai/bim/module/bcf/__init__.py @@ -71,6 +71,7 @@ classes = ( ui.BIM_PT_bcf, ui.BIM_PT_bcf_metadata, ui.BIM_PT_bcf_comments, + ui.BIM_UL_topics, ) diff --git a/src/bonsai/bonsai/bim/module/bcf/ui.py b/src/bonsai/bonsai/bim/module/bcf/ui.py index 83c80557f8..d0d25ecd10 100644 --- a/src/bonsai/bonsai/bim/module/bcf/ui.py +++ b/src/bonsai/bonsai/bim/module/bcf/ui.py @@ -16,11 +16,16 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from __future__ import annotations import os import bpy import bonsai.tool as tool from . import bcfstore from bpy.types import Panel +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from bonsai.bim.module.bcf.prop import BcfTopic, BCFProperties class BIM_PT_bcf(Panel): @@ -33,6 +38,7 @@ class BIM_PT_bcf(Panel): bl_parent_id = "BIM_PT_tab_collaboration" def draw(self, context): + assert self.layout layout = self.layout layout.use_property_split = True layout.use_property_decorate = False @@ -125,6 +131,7 @@ class BIM_PT_bcf_metadata(Panel): # without adding them to specific topic. # Currently we just handle it the same way as in v2 # documents are accessed and managed from topics. + assert self.layout layout = self.layout layout.use_property_split = True layout.use_property_decorate = False @@ -139,6 +146,7 @@ class BIM_PT_bcf_metadata(Panel): bcf_v3 = bcf_verison.startswith("3") topic = props.active_topic + assert topic bcf_topic = bcfxml.topics[topic.name] layout.label(text="Header Files:") @@ -303,6 +311,7 @@ class BIM_PT_bcf_comments(Panel): row.prop(props, "comment_text_width") topic = props.active_topic + assert topic for comment in topic.comments: box = self.layout.box() @@ -341,3 +350,20 @@ class BIM_PT_bcf_comments(Panel): row.prop(props, "has_related_viewpoint") row = layout.row() row.operator("bim.add_bcf_comment") + + +class BIM_UL_topics(bpy.types.UIList): + def draw_item( + self, + context, + layout: bpy.types.UILayout, + data: BCFProperties, + item: BcfTopic, + icon, + active_data, + active_propname, + ) -> None: + if item: + layout.prop(item, "title", text="", emboss=False) + else: + layout.label(text="", translate=False) diff --git a/src/bonsai/bonsai/bim/ui.py b/src/bonsai/bonsai/bim/ui.py index 503ecf136d..8ec26ccc52 100644 --- a/src/bonsai/bonsai/bim/ui.py +++ b/src/bonsai/bonsai/bim/ui.py @@ -225,15 +225,6 @@ class BIM_UL_generic(bpy.types.UIList): layout.label(text="", translate=False) -class BIM_UL_topics(bpy.types.UIList): - def draw_item(self, context, layout, data, item, icon, active_data, active_propname): - ob = data - if item: - layout.prop(item, "title", text="", emboss=False) - else: - layout.label(text="", translate=False) - - class DocPreferences(bpy.types.PropertyGroup): sheets_dir: StringProperty( default=os.path.join("sheets") + os.path.sep,