forked from bartvdbraak/blender
2a055ca728
* Added new modifier tab. * Fixed problems when no object was selected after delete. * Added initial Armature, Bone, Curve and Font panels, by William Reynish (Billrey). Thanks! * Small RNA changes * Commit revision 20240 and 20268 from trunk. ("Mouse wheel zoom lost after rendering.")
60 lines
1.3 KiB
Python
60 lines
1.3 KiB
Python
|
|
import bpy
|
|
|
|
class DataButtonsPanel(bpy.types.Panel):
|
|
__space_type__ = "BUTTONS_WINDOW"
|
|
__region_type__ = "WINDOW"
|
|
__context__ = "modifier"
|
|
|
|
def poll(self, context):
|
|
ob = context.active_object
|
|
return (ob and ob.type in ('MESH', 'CURVE', 'SURFACE', 'TEXT', 'LATTICE'))
|
|
|
|
class DATA_PT_modifiers(DataButtonsPanel):
|
|
__idname__ = "DATA_PT_modifiers"
|
|
__label__ = "Modifiers"
|
|
|
|
def draw(self, context):
|
|
ob = context.active_object
|
|
layout = self.layout
|
|
|
|
if not ob:
|
|
return
|
|
|
|
layout.row()
|
|
layout.item_menu_enumO("OBJECT_OT_modifier_add", "type")
|
|
|
|
for md in ob.modifiers:
|
|
sub = layout.box()
|
|
|
|
row = sub.row()
|
|
row.itemR(md, "expanded", text="")
|
|
row.itemR(md, "name", text="")
|
|
|
|
row.itemR(md, "render", text="")
|
|
row.itemR(md, "realtime", text="")
|
|
row.itemR(md, "editmode", text="")
|
|
row.itemR(md, "on_cage", text="")
|
|
|
|
if md.expanded:
|
|
sub.itemS()
|
|
|
|
if (md.type == 'ARMATURE'):
|
|
self.armature(sub, md)
|
|
|
|
def armature(self, layout, md):
|
|
layout.itemR(md, "object")
|
|
row = layout.row()
|
|
row.itemR(md, "vertex_group")
|
|
row.itemR(md, "invert")
|
|
flow = layout.column_flow()
|
|
flow.itemR(md, "use_vertex_groups")
|
|
flow.itemR(md, "use_bone_envelopes")
|
|
flow.itemR(md, "quaternion")
|
|
flow.itemR(md, "b_bone_rest")
|
|
flow.itemR(md, "multi_modifier")
|
|
|
|
bpy.types.register(DATA_PT_modifiers)
|
|
|
|
|