diff --git a/src/Mod/BIM/Resources/Arch.qrc b/src/Mod/BIM/Resources/Arch.qrc index 417015ba01..4e57e98778 100644 --- a/src/Mod/BIM/Resources/Arch.qrc +++ b/src/Mod/BIM/Resources/Arch.qrc @@ -179,7 +179,7 @@ ui/dialogIfcPropertiesRedux.ui ui/dialogIfcQuantities.ui ui/dialogImport.ui - ui/dialogLayers.ui + ui/dialogLayersIFC.ui ui/dialogLibrary.ui ui/dialogListWidget.ui ui/dialogMaterialChooser.ui diff --git a/src/Mod/BIM/Resources/ui/dialogLayers.ui b/src/Mod/BIM/Resources/ui/dialogLayersIFC.ui similarity index 100% rename from src/Mod/BIM/Resources/ui/dialogLayers.ui rename to src/Mod/BIM/Resources/ui/dialogLayersIFC.ui diff --git a/src/Mod/BIM/bimcommands/BimLayers.py b/src/Mod/BIM/bimcommands/BimLayers.py index 9f7e47f130..27dd6bbb66 100644 --- a/src/Mod/BIM/bimcommands/BimLayers.py +++ b/src/Mod/BIM/bimcommands/BimLayers.py @@ -73,7 +73,7 @@ class BIM_Layers: self.assignList = {} # create the dialog - self.dialog = FreeCADGui.PySideUic.loadUi(":/ui/dialogLayers.ui") + self.dialog = FreeCADGui.PySideUic.loadUi(":/ui/dialogLayersIFC.ui") # store the ifc icon self.ifcicon = QtGui.QIcon(":/icons/IFC.svg") @@ -166,6 +166,10 @@ class BIM_Layers: changed = True if self.model.item(row, 1).icon().isNull(): obj = Draft.make_layer(self.model.item(row, 1).text()) + # By default BIM layers should not swallow their children otherwise + # they will disappear from the tree root + obj.ViewObject.addProperty("App::PropertyBool", "HideChildren", "Layer") + obj.ViewObject.HideChildren = True else: from nativeifc import ifc_tools import FreeCADGui @@ -510,7 +514,7 @@ class BIM_Layers: self.assignList.setdefault(target.Name, []) for i in selected: if i not in self.assignList[target.Name]: - self.ssignList[target.Name].append(i) + self.assignList[target.Name].append(i) if FreeCAD.GuiUp: