From e81848dfba7885d03128224b9d4d3df7dff84ce5 Mon Sep 17 00:00:00 2001 From: Vukas Pajic <83825269+vulevukusej@users.noreply.github.com> Date: Tue, 11 Jan 2022 10:03:29 +0100 Subject: [PATCH] UI Simplification with Panel Groups (#1979) * concept demo * small naming change + added missing ui classes * added newline to end of file --- src/blenderbim/blenderbim/bim/__init__.py | 14 ++ .../blenderbim/bim/module/aggregate/ui.py | 1 + .../blenderbim/bim/module/attribute/ui.py | 4 + .../blenderbim/bim/module/bcf/ui.py | 1 + .../blenderbim/bim/module/bimtester/ui.py | 1 + .../blenderbim/bim/module/boundary/ui.py | 3 + .../blenderbim/bim/module/clash/ui.py | 1 + .../bim/module/classification/ui.py | 2 + .../blenderbim/bim/module/cobie/ui.py | 1 + .../blenderbim/bim/module/constraint/ui.py | 2 + .../blenderbim/bim/module/context/ui.py | 1 + .../blenderbim/bim/module/cost/ui.py | 1 + .../blenderbim/bim/module/csv/ui.py | 1 + .../blenderbim/bim/module/debug/ui.py | 1 + .../blenderbim/bim/module/diff/ui.py | 1 + .../blenderbim/bim/module/document/ui.py | 2 + .../blenderbim/bim/module/geometry/ui.py | 1 + .../blenderbim/bim/module/georeference/ui.py | 1 + .../blenderbim/bim/module/gis/ui.py | 1 + .../blenderbim/bim/module/group/ui.py | 2 + .../blenderbim/bim/module/layer/ui.py | 1 + .../blenderbim/bim/module/library/ui.py | 2 + .../blenderbim/bim/module/material/ui.py | 1 + .../blenderbim/bim/module/owner/ui.py | 3 + .../blenderbim/bim/module/patch/ui.py | 1 + .../blenderbim/bim/module/profile/ui.py | 1 + .../blenderbim/bim/module/project/ui.py | 3 + .../blenderbim/bim/module/pset/ui.py | 4 + .../blenderbim/bim/module/pset_template/ui.py | 1 + .../blenderbim/bim/module/resource/ui.py | 1 + .../blenderbim/bim/module/root/ui.py | 1 + .../blenderbim/bim/module/search/ui.py | 1 + .../blenderbim/bim/module/sequence/ui.py | 3 + .../blenderbim/bim/module/spatial/ui.py | 1 + .../blenderbim/bim/module/structural/ui.py | 8 ++ .../blenderbim/bim/module/system/ui.py | 2 + .../blenderbim/bim/module/type/ui.py | 1 + .../blenderbim/bim/module/unit/ui.py | 1 + src/blenderbim/blenderbim/bim/ui.py | 134 ++++++++++++++++++ src/ifcopenshell-python/ifcopenshell/mvd | 2 +- 40 files changed, 213 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/__init__.py b/src/blenderbim/blenderbim/bim/__init__.py index cbbb5d674c..e30874b23c 100644 --- a/src/blenderbim/blenderbim/bim/__init__.py +++ b/src/blenderbim/blenderbim/bim/__init__.py @@ -102,6 +102,20 @@ classes = [ ui.BIM_UL_generic, ui.BIM_UL_topics, ui.BIM_ADDON_preferences, + #scene panel groups --> + ui.BIM_PT_project_and_template_setup, + ui.BIM_PT_utilities, + ui.BIM_PT_collaboration_and_data_exchange, + ui.BIM_PT_geometry_and_spatial_structure, + ui.BIM_PT_4D5D, + ui.BIM_PT_structural, + ui.BIM_PT_misc, + ui.BIM_PT_quality_control, + #object panel groups --> + ui.BIM_PT_geometry_and_spatial_structure_object, + ui.BIM_PT_object_attributes_properties_and_relationships, + ui.BIM_PT_utilities_object, + ui.BIM_PT_misc_object ] for mod in modules.values(): diff --git a/src/blenderbim/blenderbim/bim/module/aggregate/ui.py b/src/blenderbim/blenderbim/bim/module/aggregate/ui.py index be21078f8b..d37b018772 100644 --- a/src/blenderbim/blenderbim/bim/module/aggregate/ui.py +++ b/src/blenderbim/blenderbim/bim/module/aggregate/ui.py @@ -28,6 +28,7 @@ class BIM_PT_aggregate(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_object_attributes_properties_and_relationships" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/attribute/ui.py b/src/blenderbim/blenderbim/bim/module/attribute/ui.py index 8aa227e329..c250a5f1b7 100644 --- a/src/blenderbim/blenderbim/bim/module/attribute/ui.py +++ b/src/blenderbim/blenderbim/bim/module/attribute/ui.py @@ -59,6 +59,8 @@ class BIM_PT_object_attributes(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_object_attributes_properties_and_relationships" + bl_options = {"DEFAULT_CLOSED"} @classmethod def poll(cls, context): @@ -80,6 +82,8 @@ class BIM_PT_material_attributes(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "material" + bl_parent_id = "BIM_PT_object_attributes_properties_and_relationships" + bl_options = {"DEFAULT_CLOSED"} @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/bcf/ui.py b/src/blenderbim/blenderbim/bim/module/bcf/ui.py index 4b1fa8d339..e71613aad3 100644 --- a/src/blenderbim/blenderbim/bim/module/bcf/ui.py +++ b/src/blenderbim/blenderbim/bim/module/bcf/ui.py @@ -29,6 +29,7 @@ class BIM_PT_bcf(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_collaboration_and_data_exchange" def draw(self, context): layout = self.layout diff --git a/src/blenderbim/blenderbim/bim/module/bimtester/ui.py b/src/blenderbim/blenderbim/bim/module/bimtester/ui.py index 74e6e853fd..46112b7590 100644 --- a/src/blenderbim/blenderbim/bim/module/bimtester/ui.py +++ b/src/blenderbim/blenderbim/bim/module/bimtester/ui.py @@ -27,6 +27,7 @@ class BIM_PT_qa(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_object_attributes_properties_and_relationships" def draw(self, context): self.layout.use_property_split = True diff --git a/src/blenderbim/blenderbim/bim/module/boundary/ui.py b/src/blenderbim/blenderbim/bim/module/boundary/ui.py index 34c0bbf272..9a84b86d4f 100644 --- a/src/blenderbim/blenderbim/bim/module/boundary/ui.py +++ b/src/blenderbim/blenderbim/bim/module/boundary/ui.py @@ -31,6 +31,7 @@ class BIM_PT_SceneBoundaries(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_geometry_and_spatial_structure" @classmethod def poll(cls, context): @@ -49,6 +50,7 @@ class BIM_PT_Boundary(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_geometry_and_spatial_structure_object" @classmethod def poll(cls, context): @@ -117,6 +119,7 @@ class BIM_PT_SpaceBoundaries(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_geometry_and_spatial_structure_object" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/clash/ui.py b/src/blenderbim/blenderbim/bim/module/clash/ui.py index bc2e7994c1..e212d57599 100644 --- a/src/blenderbim/blenderbim/bim/module/clash/ui.py +++ b/src/blenderbim/blenderbim/bim/module/clash/ui.py @@ -27,6 +27,7 @@ class BIM_PT_ifcclash(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_quality_control" def draw(self, context): layout = self.layout diff --git a/src/blenderbim/blenderbim/bim/module/classification/ui.py b/src/blenderbim/blenderbim/bim/module/classification/ui.py index 8be9404a71..6f03009bcb 100644 --- a/src/blenderbim/blenderbim/bim/module/classification/ui.py +++ b/src/blenderbim/blenderbim/bim/module/classification/ui.py @@ -29,6 +29,7 @@ class BIM_PT_classifications(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_project_and_template_setup" @classmethod def poll(cls, context): @@ -86,6 +87,7 @@ class BIM_PT_classification_references(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_object_attributes_properties_and_relationships" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/cobie/ui.py b/src/blenderbim/blenderbim/bim/module/cobie/ui.py index 2ae0179a53..38b9da07fd 100644 --- a/src/blenderbim/blenderbim/bim/module/cobie/ui.py +++ b/src/blenderbim/blenderbim/bim/module/cobie/ui.py @@ -27,6 +27,7 @@ class BIM_PT_cobie(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_collaboration_and_data_exchange" def draw(self, context): layout = self.layout diff --git a/src/blenderbim/blenderbim/bim/module/constraint/ui.py b/src/blenderbim/blenderbim/bim/module/constraint/ui.py index 606b534555..f1aa2a3831 100644 --- a/src/blenderbim/blenderbim/bim/module/constraint/ui.py +++ b/src/blenderbim/blenderbim/bim/module/constraint/ui.py @@ -29,6 +29,7 @@ class BIM_PT_constraints(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_misc" @classmethod def poll(cls, context): @@ -73,6 +74,7 @@ class BIM_PT_object_constraints(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_misc_object" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/context/ui.py b/src/blenderbim/blenderbim/bim/module/context/ui.py index 9f1a6f1e8b..80311145fb 100644 --- a/src/blenderbim/blenderbim/bim/module/context/ui.py +++ b/src/blenderbim/blenderbim/bim/module/context/ui.py @@ -29,6 +29,7 @@ class BIM_PT_context(bpy.types.Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_geometry_and_spatial_structure" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/cost/ui.py b/src/blenderbim/blenderbim/bim/module/cost/ui.py index 71f060ccf4..517bc46f50 100644 --- a/src/blenderbim/blenderbim/bim/module/cost/ui.py +++ b/src/blenderbim/blenderbim/bim/module/cost/ui.py @@ -31,6 +31,7 @@ class BIM_PT_cost_schedules(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_4D5D" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/csv/ui.py b/src/blenderbim/blenderbim/bim/module/csv/ui.py index 31ae46dceb..6182600822 100644 --- a/src/blenderbim/blenderbim/bim/module/csv/ui.py +++ b/src/blenderbim/blenderbim/bim/module/csv/ui.py @@ -27,6 +27,7 @@ class BIM_PT_ifccsv(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_collaboration_and_data_exchange" def draw(self, context): layout = self.layout diff --git a/src/blenderbim/blenderbim/bim/module/debug/ui.py b/src/blenderbim/blenderbim/bim/module/debug/ui.py index 43cdb39dac..f3f464e252 100644 --- a/src/blenderbim/blenderbim/bim/module/debug/ui.py +++ b/src/blenderbim/blenderbim/bim/module/debug/ui.py @@ -27,6 +27,7 @@ class BIM_PT_debug(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_quality_control" def draw(self, context): layout = self.layout diff --git a/src/blenderbim/blenderbim/bim/module/diff/ui.py b/src/blenderbim/blenderbim/bim/module/diff/ui.py index 525455329c..f5dd1d1a6d 100644 --- a/src/blenderbim/blenderbim/bim/module/diff/ui.py +++ b/src/blenderbim/blenderbim/bim/module/diff/ui.py @@ -27,6 +27,7 @@ class BIM_PT_diff(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_quality_control" def draw(self, context): layout = self.layout diff --git a/src/blenderbim/blenderbim/bim/module/document/ui.py b/src/blenderbim/blenderbim/bim/module/document/ui.py index c58dbd5f39..74b38b6a76 100644 --- a/src/blenderbim/blenderbim/bim/module/document/ui.py +++ b/src/blenderbim/blenderbim/bim/module/document/ui.py @@ -29,6 +29,7 @@ class BIM_PT_documents(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_collaboration_and_data_exchange" @classmethod def poll(cls, context): @@ -77,6 +78,7 @@ class BIM_PT_object_documents(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_misc_object" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/geometry/ui.py b/src/blenderbim/blenderbim/bim/module/geometry/ui.py index 845bb707b3..f0284e3505 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/ui.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/ui.py @@ -29,6 +29,7 @@ class BIM_PT_representations(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_geometry_and_spatial_structure" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/georeference/ui.py b/src/blenderbim/blenderbim/bim/module/georeference/ui.py index 19b1a8b728..44b62602e7 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/ui.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/ui.py @@ -30,6 +30,7 @@ class BIM_PT_gis(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_geometry_and_spatial_structure" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/gis/ui.py b/src/blenderbim/blenderbim/bim/module/gis/ui.py index cdf443f800..56386bbe37 100644 --- a/src/blenderbim/blenderbim/bim/module/gis/ui.py +++ b/src/blenderbim/blenderbim/bim/module/gis/ui.py @@ -26,6 +26,7 @@ class BIM_PT_cityjson_converter(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_collaboration_and_data_exchange" def draw(self, context): layout = self.layout diff --git a/src/blenderbim/blenderbim/bim/module/group/ui.py b/src/blenderbim/blenderbim/bim/module/group/ui.py index 8b7a48e848..7e3efab4ed 100644 --- a/src/blenderbim/blenderbim/bim/module/group/ui.py +++ b/src/blenderbim/blenderbim/bim/module/group/ui.py @@ -28,6 +28,7 @@ class BIM_PT_groups(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_utilities" @classmethod def poll(cls, context): @@ -74,6 +75,7 @@ class BIM_PT_object_groups(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_utilities_object" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/layer/ui.py b/src/blenderbim/blenderbim/bim/module/layer/ui.py index 1508f370d4..7609755b95 100644 --- a/src/blenderbim/blenderbim/bim/module/layer/ui.py +++ b/src/blenderbim/blenderbim/bim/module/layer/ui.py @@ -28,6 +28,7 @@ class BIM_PT_layers(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_geometry_and_spatial_structure_object" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/library/ui.py b/src/blenderbim/blenderbim/bim/module/library/ui.py index 20f9c25b86..666c81c4b0 100644 --- a/src/blenderbim/blenderbim/bim/module/library/ui.py +++ b/src/blenderbim/blenderbim/bim/module/library/ui.py @@ -29,6 +29,7 @@ class BIM_PT_libraries(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_project_and_template_setup" @classmethod def poll(cls, context): @@ -99,6 +100,7 @@ class BIM_PT_library_references(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_misc_object" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/material/ui.py b/src/blenderbim/blenderbim/bim/module/material/ui.py index bd676e42c2..400543ee81 100644 --- a/src/blenderbim/blenderbim/bim/module/material/ui.py +++ b/src/blenderbim/blenderbim/bim/module/material/ui.py @@ -50,6 +50,7 @@ class BIM_PT_object_material(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_object_attributes_properties_and_relationships" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/owner/ui.py b/src/blenderbim/blenderbim/bim/module/owner/ui.py index 0bbff1f585..90d0d0601e 100644 --- a/src/blenderbim/blenderbim/bim/module/owner/ui.py +++ b/src/blenderbim/blenderbim/bim/module/owner/ui.py @@ -83,6 +83,7 @@ class BIM_PT_people(bpy.types.Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_project_and_template_setup" @classmethod def poll(cls, context): @@ -139,6 +140,7 @@ class BIM_PT_organisations(bpy.types.Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_project_and_template_setup" @classmethod def poll(cls, context): @@ -183,6 +185,7 @@ class BIM_PT_owner(bpy.types.Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_project_and_template_setup" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/patch/ui.py b/src/blenderbim/blenderbim/bim/module/patch/ui.py index ec699ab3e0..618a5077ca 100644 --- a/src/blenderbim/blenderbim/bim/module/patch/ui.py +++ b/src/blenderbim/blenderbim/bim/module/patch/ui.py @@ -27,6 +27,7 @@ class BIM_PT_patch(bpy.types.Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_quality_control" def draw(self, context): layout = self.layout diff --git a/src/blenderbim/blenderbim/bim/module/profile/ui.py b/src/blenderbim/blenderbim/bim/module/profile/ui.py index 8044de9f54..f2fc3ee3b6 100644 --- a/src/blenderbim/blenderbim/bim/module/profile/ui.py +++ b/src/blenderbim/blenderbim/bim/module/profile/ui.py @@ -29,6 +29,7 @@ class BIM_PT_profiles(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_geometry_and_spatial_structure" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/project/ui.py b/src/blenderbim/blenderbim/bim/module/project/ui.py index 4a8e924006..a87270a99f 100644 --- a/src/blenderbim/blenderbim/bim/module/project/ui.py +++ b/src/blenderbim/blenderbim/bim/module/project/ui.py @@ -28,6 +28,7 @@ class BIM_PT_project(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_project_and_template_setup" def draw(self, context): if not ProjectData.is_loaded: @@ -175,6 +176,7 @@ class BIM_PT_project_library(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_project_and_template_setup" def draw(self, context): self.layout.use_property_decorate = False @@ -216,6 +218,7 @@ class BIM_PT_links(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_project_and_template_setup" def draw(self, context): self.props = context.scene.BIMProjectProperties diff --git a/src/blenderbim/blenderbim/bim/module/pset/ui.py b/src/blenderbim/blenderbim/bim/module/pset/ui.py index a03b7e9f00..c602f1248f 100644 --- a/src/blenderbim/blenderbim/bim/module/pset/ui.py +++ b/src/blenderbim/blenderbim/bim/module/pset/ui.py @@ -119,6 +119,7 @@ class BIM_PT_object_psets(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_object_attributes_properties_and_relationships" @classmethod def poll(cls, context): @@ -157,6 +158,7 @@ class BIM_PT_object_qtos(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_object_attributes_properties_and_relationships" @classmethod def poll(cls, context): @@ -190,6 +192,7 @@ class BIM_PT_material_psets(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "material" + bl_parent_id = "BIM_PT_object_attributes_properties_and_relationships" @classmethod def poll(cls, context): @@ -383,6 +386,7 @@ class BIM_PT_bulk_property_editor(Panel): bl_region_type = "WINDOW" bl_context = "object" bl_options = {"DEFAULT_CLOSED"} + bl_parent_id = "BIM_PT_utilities_object" def draw(self, context): pass diff --git a/src/blenderbim/blenderbim/bim/module/pset_template/ui.py b/src/blenderbim/blenderbim/bim/module/pset_template/ui.py index 529055df65..28df5004c1 100644 --- a/src/blenderbim/blenderbim/bim/module/pset_template/ui.py +++ b/src/blenderbim/blenderbim/bim/module/pset_template/ui.py @@ -32,6 +32,7 @@ class BIM_PT_pset_template(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_project_and_template_setup" def draw(self, context): layout = self.layout diff --git a/src/blenderbim/blenderbim/bim/module/resource/ui.py b/src/blenderbim/blenderbim/bim/module/resource/ui.py index 5d6bf8950c..2ad834d88f 100644 --- a/src/blenderbim/blenderbim/bim/module/resource/ui.py +++ b/src/blenderbim/blenderbim/bim/module/resource/ui.py @@ -29,6 +29,7 @@ class BIM_PT_resources(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_4D5D" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/root/ui.py b/src/blenderbim/blenderbim/bim/module/root/ui.py index 294f9fcc7a..996e1cf12d 100644 --- a/src/blenderbim/blenderbim/bim/module/root/ui.py +++ b/src/blenderbim/blenderbim/bim/module/root/ui.py @@ -30,6 +30,7 @@ class BIM_PT_class(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_object_attributes_properties_and_relationships" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/search/ui.py b/src/blenderbim/blenderbim/bim/module/search/ui.py index f2dfdd1318..ff9068d06c 100644 --- a/src/blenderbim/blenderbim/bim/module/search/ui.py +++ b/src/blenderbim/blenderbim/bim/module/search/ui.py @@ -28,6 +28,7 @@ class BIM_PT_search(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_utilities" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/sequence/ui.py b/src/blenderbim/blenderbim/bim/module/sequence/ui.py index af67681299..457c777cf0 100644 --- a/src/blenderbim/blenderbim/bim/module/sequence/ui.py +++ b/src/blenderbim/blenderbim/bim/module/sequence/ui.py @@ -34,6 +34,7 @@ class BIM_PT_work_plans(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_4D5D" @classmethod def poll(cls, context): @@ -99,6 +100,7 @@ class BIM_PT_work_schedules(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_4D5D" @classmethod def poll(cls, context): @@ -546,6 +548,7 @@ class BIM_PT_work_calendars(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_4D5D" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/spatial/ui.py b/src/blenderbim/blenderbim/bim/module/spatial/ui.py index 42f22c0bc7..299c7fc769 100644 --- a/src/blenderbim/blenderbim/bim/module/spatial/ui.py +++ b/src/blenderbim/blenderbim/bim/module/spatial/ui.py @@ -27,6 +27,7 @@ class BIM_PT_spatial(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_geometry_and_spatial_structure_object" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/structural/ui.py b/src/blenderbim/blenderbim/bim/module/structural/ui.py index 80e9a070c9..c5b226a58e 100644 --- a/src/blenderbim/blenderbim/bim/module/structural/ui.py +++ b/src/blenderbim/blenderbim/bim/module/structural/ui.py @@ -92,6 +92,7 @@ class BIM_PT_structural_boundary_conditions(Panel): bl_region_type = "WINDOW" bl_context = "object" # bl_parent_id = "BIM_PT_structural_connection" + bl_parent_id = "BIM_PT_misc_object" @classmethod def poll(cls, context): @@ -124,6 +125,7 @@ class BIM_PT_connected_structural_members(Panel): bl_region_type = "WINDOW" bl_context = "object" # bl_parent_id = "BIM_PT_structural_connection" + bl_parent_id = "BIM_PT_misc_object" @classmethod def poll(cls, context): @@ -180,6 +182,7 @@ class BIM_PT_structural_member(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_misc_object" @classmethod def poll(cls, context): @@ -220,6 +223,7 @@ class BIM_PT_structural_connection(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_misc_object" @classmethod def poll(cls, context): @@ -278,6 +282,7 @@ class BIM_PT_structural_analysis_models(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_structural" @classmethod def poll(cls, context): @@ -357,6 +362,7 @@ class BIM_PT_structural_load_cases(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_structural" @classmethod def poll(cls, context): @@ -453,6 +459,7 @@ class BIM_PT_structural_loads(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_structural" @classmethod def poll(cls, context): @@ -521,6 +528,7 @@ class BIM_PT_boundary_conditions(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_structural" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/system/ui.py b/src/blenderbim/blenderbim/bim/module/system/ui.py index c36c83f2c2..57f848b230 100644 --- a/src/blenderbim/blenderbim/bim/module/system/ui.py +++ b/src/blenderbim/blenderbim/bim/module/system/ui.py @@ -28,6 +28,7 @@ class BIM_PT_systems(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_utilities" @classmethod def poll(cls, context): @@ -74,6 +75,7 @@ class BIM_PT_object_systems(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_utilities_object" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/type/ui.py b/src/blenderbim/blenderbim/bim/module/type/ui.py index a3d49166f0..678f1a55ed 100644 --- a/src/blenderbim/blenderbim/bim/module/type/ui.py +++ b/src/blenderbim/blenderbim/bim/module/type/ui.py @@ -29,6 +29,7 @@ class BIM_PT_type(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "object" + bl_parent_id = "BIM_PT_object_attributes_properties_and_relationships" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/unit/ui.py b/src/blenderbim/blenderbim/bim/module/unit/ui.py index 2c896f1ac0..4356ba440f 100644 --- a/src/blenderbim/blenderbim/bim/module/unit/ui.py +++ b/src/blenderbim/blenderbim/bim/module/unit/ui.py @@ -29,6 +29,7 @@ class BIM_PT_units(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "scene" + bl_parent_id = "BIM_PT_project_and_template_setup" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/ui.py b/src/blenderbim/blenderbim/bim/ui.py index 4667dc92c1..ce7fd3bdd8 100644 --- a/src/blenderbim/blenderbim/bim/ui.py +++ b/src/blenderbim/blenderbim/bim/ui.py @@ -129,3 +129,137 @@ def ifc_units(self, context): row.prop(props, "imperial_precision") else: row.prop(props, "metric_precision") + + +# Scene Panel Groups --> +class BIM_PT_project_and_template_setup(Panel): + bl_label = "IFC Project and Template Setup" + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "scene" + bl_options = {"DEFAULT_CLOSED"} + + def draw(self, context): + pass + + +class BIM_PT_utilities(Panel): + bl_label = "IFC Utilities" + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "scene" + bl_options = {"DEFAULT_CLOSED"} + + def draw(self, context): + pass + + +class BIM_PT_collaboration_and_data_exchange(Panel): + bl_label = "IFC Collaboration and Data Exchange" + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "scene" + bl_options = {"DEFAULT_CLOSED"} + + def draw(self, context): + pass + + +class BIM_PT_geometry_and_spatial_structure(Panel): + bl_label = "IFC Geometry and Spatial Structure" + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "scene" + bl_options = {"DEFAULT_CLOSED"} + + def draw(self, context): + pass + + +class BIM_PT_4D5D(Panel): + bl_label = "IFC 4D/5D" + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "scene" + bl_options = {"DEFAULT_CLOSED"} + + def draw(self, context): + pass + + +class BIM_PT_structural(Panel): + bl_label = "IFC Structural" + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "scene" + bl_options = {"DEFAULT_CLOSED"} + + def draw(self, context): + pass + + +class BIM_PT_misc(Panel): + bl_label = "IFC Misc." + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "scene" + bl_options = {"DEFAULT_CLOSED"} + + def draw(self, context): + pass + + +class BIM_PT_quality_control(Panel): + bl_label = "IFC Quality Control" + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "scene" + bl_options = {"DEFAULT_CLOSED"} + + def draw(self, context): + pass + + +# Object Panel Groups --> +class BIM_PT_geometry_and_spatial_structure_object(Panel): + bl_label = "IFC Geometry and Spatial Structure" + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "object" + bl_options = {"DEFAULT_CLOSED"} + + def draw(self, context): + pass + + +class BIM_PT_object_attributes_properties_and_relationships(Panel): + bl_label = "IFC Object Attributes, Properties and Relationships" + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "object" + bl_options = {"DEFAULT_CLOSED"} + + def draw(self, context): + pass + + +class BIM_PT_utilities_object(Panel): + bl_label = "IFC Utilities" + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "object" + bl_options = {"DEFAULT_CLOSED"} + + def draw(self, context): + pass + + +class BIM_PT_misc_object(Panel): + bl_label = "IFC Misc." + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "object" + bl_options = {"DEFAULT_CLOSED"} + + def draw(self, context): + pass diff --git a/src/ifcopenshell-python/ifcopenshell/mvd b/src/ifcopenshell-python/ifcopenshell/mvd index 0d70ba4d43..667894b629 160000 --- a/src/ifcopenshell-python/ifcopenshell/mvd +++ b/src/ifcopenshell-python/ifcopenshell/mvd @@ -1 +1 @@ -Subproject commit 0d70ba4d4328670471990c7152f4dc46b60ed9e9 +Subproject commit 667894b6295ea5ccc489d97ff2064bebcd67bda8