Fix #1344. You can now reorder items in a material layer set

This commit is contained in:
Dion Moult
2021-03-08 14:20:43 +11:00
parent cfaa90b1fb
commit fa23f64e9f
4 changed files with 48 additions and 4 deletions
@@ -8,6 +8,7 @@ import blenderbim.bim.module.material.remove_constituent as remove_constituent
import blenderbim.bim.module.material.add_layer as add_layer
import blenderbim.bim.module.material.edit_layer as edit_layer
import blenderbim.bim.module.material.remove_layer as remove_layer
import blenderbim.bim.module.material.reorder_layer as reorder_layer
import blenderbim.bim.module.material.add_list_item as add_list_item
import blenderbim.bim.module.material.remove_list_item as remove_list_item
import blenderbim.bim.module.material.edit_assigned_material as edit_assigned_material
@@ -137,6 +138,29 @@ class AddLayer(bpy.types.Operator):
return {"FINISHED"}
class ReorderLayer(bpy.types.Operator):
bl_idname = "bim.reorder_layer"
bl_label = "Reorder Layer"
obj: bpy.props.StringProperty()
old_index: bpy.props.IntProperty()
new_index: bpy.props.IntProperty()
layer_set: bpy.props.IntProperty()
def execute(self, context):
obj = bpy.data.objects.get(self.obj) if self.obj else bpy.context.active_object
self.file = IfcStore.get_file()
reorder_layer.Usecase(
self.file,
{
"layer_set": self.file.by_id(self.layer_set),
"old_index": self.old_index,
"new_index": self.new_index,
},
).execute()
Data.load_layers()
return {"FINISHED"}
class RemoveLayer(bpy.types.Operator):
bl_idname = "bim.remove_layer"
bl_label = "Remove Layer"