mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-22 16:21:01 +00:00
BIM_UL_topics - move to bcf module
This commit is contained in:
@@ -145,7 +145,6 @@ classes = [
|
|||||||
prop.BIMSnapGroups,
|
prop.BIMSnapGroups,
|
||||||
ui.BIM_UL_clipping_plane,
|
ui.BIM_UL_clipping_plane,
|
||||||
ui.BIM_UL_generic,
|
ui.BIM_UL_generic,
|
||||||
ui.BIM_UL_topics,
|
|
||||||
ui.DocPreferences,
|
ui.DocPreferences,
|
||||||
ui.BIM_ADDON_preferences,
|
ui.BIM_ADDON_preferences,
|
||||||
# Tabs panel
|
# Tabs panel
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ classes = (
|
|||||||
ui.BIM_PT_bcf,
|
ui.BIM_PT_bcf,
|
||||||
ui.BIM_PT_bcf_metadata,
|
ui.BIM_PT_bcf_metadata,
|
||||||
ui.BIM_PT_bcf_comments,
|
ui.BIM_PT_bcf_comments,
|
||||||
|
ui.BIM_UL_topics,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -16,11 +16,16 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with Bonsai. If not, see <http://www.gnu.org/licenses/>.
|
# along with Bonsai. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
import os
|
import os
|
||||||
import bpy
|
import bpy
|
||||||
import bonsai.tool as tool
|
import bonsai.tool as tool
|
||||||
from . import bcfstore
|
from . import bcfstore
|
||||||
from bpy.types import Panel
|
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):
|
class BIM_PT_bcf(Panel):
|
||||||
@@ -33,6 +38,7 @@ class BIM_PT_bcf(Panel):
|
|||||||
bl_parent_id = "BIM_PT_tab_collaboration"
|
bl_parent_id = "BIM_PT_tab_collaboration"
|
||||||
|
|
||||||
def draw(self, context):
|
def draw(self, context):
|
||||||
|
assert self.layout
|
||||||
layout = self.layout
|
layout = self.layout
|
||||||
layout.use_property_split = True
|
layout.use_property_split = True
|
||||||
layout.use_property_decorate = False
|
layout.use_property_decorate = False
|
||||||
@@ -125,6 +131,7 @@ class BIM_PT_bcf_metadata(Panel):
|
|||||||
# without adding them to specific topic.
|
# without adding them to specific topic.
|
||||||
# Currently we just handle it the same way as in v2
|
# Currently we just handle it the same way as in v2
|
||||||
# documents are accessed and managed from topics.
|
# documents are accessed and managed from topics.
|
||||||
|
assert self.layout
|
||||||
layout = self.layout
|
layout = self.layout
|
||||||
layout.use_property_split = True
|
layout.use_property_split = True
|
||||||
layout.use_property_decorate = False
|
layout.use_property_decorate = False
|
||||||
@@ -139,6 +146,7 @@ class BIM_PT_bcf_metadata(Panel):
|
|||||||
bcf_v3 = bcf_verison.startswith("3")
|
bcf_v3 = bcf_verison.startswith("3")
|
||||||
|
|
||||||
topic = props.active_topic
|
topic = props.active_topic
|
||||||
|
assert topic
|
||||||
bcf_topic = bcfxml.topics[topic.name]
|
bcf_topic = bcfxml.topics[topic.name]
|
||||||
|
|
||||||
layout.label(text="Header Files:")
|
layout.label(text="Header Files:")
|
||||||
@@ -303,6 +311,7 @@ class BIM_PT_bcf_comments(Panel):
|
|||||||
row.prop(props, "comment_text_width")
|
row.prop(props, "comment_text_width")
|
||||||
|
|
||||||
topic = props.active_topic
|
topic = props.active_topic
|
||||||
|
assert topic
|
||||||
for comment in topic.comments:
|
for comment in topic.comments:
|
||||||
box = self.layout.box()
|
box = self.layout.box()
|
||||||
|
|
||||||
@@ -341,3 +350,20 @@ class BIM_PT_bcf_comments(Panel):
|
|||||||
row.prop(props, "has_related_viewpoint")
|
row.prop(props, "has_related_viewpoint")
|
||||||
row = layout.row()
|
row = layout.row()
|
||||||
row.operator("bim.add_bcf_comment")
|
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)
|
||||||
|
|||||||
@@ -225,15 +225,6 @@ class BIM_UL_generic(bpy.types.UIList):
|
|||||||
layout.label(text="", translate=False)
|
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):
|
class DocPreferences(bpy.types.PropertyGroup):
|
||||||
sheets_dir: StringProperty(
|
sheets_dir: StringProperty(
|
||||||
default=os.path.join("sheets") + os.path.sep,
|
default=os.path.join("sheets") + os.path.sep,
|
||||||
|
|||||||
Reference in New Issue
Block a user