def invoke(self, context, event): wm = context.window_manager atom = bpy.context.scene.atomic if atom.collections: self.unused_collections = unused.collections_deep() if atom.images: self.unused_images = unused.images_deep() if atom.lights: self.unused_lights = unused.lights_deep() if atom.materials: self.unused_materials = unused.materials_deep() if atom.node_groups: self.unused_node_groups = unused.node_groups_deep() if atom.particles: self.unused_particles = unused.particles_deep() if atom.textures: self.unused_textures = unused.textures_deep() if atom.worlds: self.unused_worlds = unused.worlds() return wm.invoke_props_dialog(self)
def execute(self, context): bpy.context.scene.atomic.collections = \ any(unused.collections_deep()) bpy.context.scene.atomic.images = \ any(unused.images_deep()) bpy.context.scene.atomic.lights = \ any(unused.lights_deep()) bpy.context.scene.atomic.materials = \ any(unused.materials_deep()) bpy.context.scene.atomic.node_groups = \ any(unused.node_groups_deep()) bpy.context.scene.atomic.particles = \ any(unused.particles_deep()) bpy.context.scene.atomic.textures = \ any(unused.textures_deep()) bpy.context.scene.atomic.worlds = \ any(unused.worlds()) return {'FINISHED'}
def draw(self, context): layout = self.layout col = layout.column() col.label(text="Remove the following data-blocks?") collections = sorted(unused.collections_deep()) ui_layouts.box_list(layout=layout, title="Collections", items=collections, icon="OUTLINER_OB_GROUP_INSTANCE") images = sorted(unused.images_deep()) ui_layouts.box_list(layout=layout, title="Images", items=images, icon="IMAGE_DATA") lights = sorted(unused.lights_deep()) ui_layouts.box_list(layout=layout, title="Lights", items=lights, icon="OUTLINER_OB_LIGHT") materials = sorted(unused.materials_deep()) ui_layouts.box_list(layout=layout, title="Materials", items=materials, icon="MATERIAL") node_groups = sorted(unused.node_groups_deep()) ui_layouts.box_list(layout=layout, title="Node Groups", items=node_groups, icon="NODETREE") particles = sorted(unused.particles_deep()) ui_layouts.box_list(layout=layout, title="Particle Systems", items=particles, icon="PARTICLES") textures = sorted(unused.textures_deep()) ui_layouts.box_list(layout=layout, title="Textures", items=textures, icon="TEXTURE") worlds = sorted(unused.worlds()) ui_layouts.box_list(layout=layout, title="Worlds", items=worlds, icon="WORLD") row = layout.row() # extra spacing
def invoke(self, context, event): wm = context.window_manager self.unused_collections = unused.collections_deep() self.unused_images = unused.images_deep() self.unused_lights = unused.lights_deep() self.unused_materials = unused.materials_deep() self.unused_node_groups = unused.node_groups_deep() self.unused_particles = unused.particles_deep() self.unused_textures = unused.textures_deep() self.unused_worlds = unused.worlds() return wm.invoke_props_dialog(self)
def draw(self, context): atom = bpy.context.scene.atomic layout = self.layout col = layout.column() col.label(text="Remove the following data-blocks?") # display if no main panel properties are toggled if not (atom.collections or atom.images or atom.lights or atom.materials or atom.node_groups or atom.particles or atom.textures or atom.worlds): ui_layouts.box_list(layout=layout, ) # display when the main panel collections property is toggled if atom.collections: ui_layouts.box_list(layout=layout, title="Collections", items=self.unused_collections, icon="OUTLINER_OB_GROUP_INSTANCE") # display when the main panel images property is toggled if atom.images: ui_layouts.box_list(layout=layout, title="Images", items=self.unused_images, icon="IMAGE_DATA") # display when the main panel lights property is toggled if atom.lights: ui_layouts.box_list(layout=layout, title="Lights", items=self.unused_lights, icon="OUTLINER_OB_LIGHT") # display when the main panel materials property is toggled if atom.materials: ui_layouts.box_list(layout=layout, title="Materials", items=self.unused_materials, icon="MATERIAL") # display when the main panel node groups property is toggled if atom.node_groups: ui_layouts.box_list(layout=layout, title="Node Groups", items=self.unused_node_groups, icon="NODETREE") # display when the main panel particle systems property is toggled if atom.particles: ui_layouts.box_list(layout=layout, title="Particle Systems", items=self.unused_particles, icon="PARTICLES") # display when the main panel textures property is toggled if atom.textures: textures = sorted(unused.textures_deep()) ui_layouts.box_list(layout=layout, title="Textures", items=textures, icon="TEXTURE") # display when the main panel worlds property is toggled if atom.worlds: ui_layouts.box_list(layout=layout, title="Worlds", items=self.unused_worlds, icon="WORLD") row = layout.row() # extra spacing
def invoke(self, context, event): wm = context.window_manager self.unused_textures = unused.textures_deep() return wm.invoke_props_dialog(self)
def textures(): # removes all unused textures from the project for texture_key in unused.textures_deep(): bpy.data.textures.remove(bpy.data.textures[texture_key])