diff options
Diffstat (limited to 'release/ui/buttons_data_bone.py')
-rw-r--r-- | release/ui/buttons_data_bone.py | 73 |
1 files changed, 59 insertions, 14 deletions
diff --git a/release/ui/buttons_data_bone.py b/release/ui/buttons_data_bone.py index 75c201f015e..98c7f2f8e54 100644 --- a/release/ui/buttons_data_bone.py +++ b/release/ui/buttons_data_bone.py @@ -7,40 +7,83 @@ class BoneButtonsPanel(bpy.types.Panel): __context__ = "bone" def poll(self, context): - return (context.bone != None) + return (context.bone or context.edit_bone) + +class BONE_PT_context_bone(BoneButtonsPanel): + __idname__ = "BONE_PT_context_bone" + __no_header__ = True + + def draw(self, context): + layout = self.layout + bone = context.bone + if not bone: + bone = context.edit_bone + + split = layout.split(percentage=0.06) + split.itemL(text="", icon="ICON_BONE_DATA") + split.itemR(bone, "name", text="") class BONE_PT_bone(BoneButtonsPanel): __idname__ = "BONE_PT_bone" __label__ = "Bone" + def draw(self, context): - bone = context.bone layout = self.layout + bone = context.bone + if not bone: + bone = context.edit_bone split = layout.split() sub = split.column() - sub.itemR(bone, "name") sub.itemR(bone, "parent") sub.itemR(bone, "connected") - sub.itemR(bone, "deform") + + sub.itemL(text="Layers:") + sub.template_layers(bone, "layer") + + sub = split.column() sub.itemL(text="Inherit:") - sub.itemR(bone, "hinge") - sub.itemR(bone, "inherit_scale") + sub.itemR(bone, "hinge", text="Rotation") + sub.itemR(bone, "inherit_scale", text="Scale") + + sub.itemL(text="Display:") + sub.itemR(bone, "draw_wire", text="Wireframe") + sub.itemR(bone, "hidden", text="Hide") + + + +class BONE_PT_deform(BoneButtonsPanel): + __idname__ = "BONE_PT_deform" + __label__ = "Deform" + def draw_header(self, context): + layout = self.layout + bone = context.bone + if not bone: + bone = context.edit_bone + + layout.itemR(bone, "deform", text="") + + def draw(self, context): + layout = self.layout + bone = context.bone + if not bone: + bone = context.edit_bone + + layout.active = bone.deform + + split = layout.split() + + sub = split.column() sub.itemL(text="Envelope:") sub.itemR(bone, "envelope_distance", text="Distance") sub.itemR(bone, "envelope_weight", text="Weight") sub.itemR(bone, "multiply_vertexgroup_with_envelope", text="Multiply") - sub = split.column() - #sub.itemR(bone, "layer") - sub.itemL(text="Display:") - sub.itemR(bone, "draw_wire", text="Wireframe") - sub.itemR(bone, "editmode_hidden", text="Hide (EditMode)") - sub.itemR(bone, "pose_channel_hidden", text="Hide (PoseMode)") - + sub.itemL(text="Curved Bones:") sub.itemR(bone, "bbone_segments", text="Segments") sub.itemR(bone, "bbone_in", text="Ease In") @@ -48,5 +91,7 @@ class BONE_PT_bone(BoneButtonsPanel): sub.itemR(bone, "cyclic_offset") -bpy.types.register(BONE_PT_bone) +bpy.types.register(BONE_PT_context_bone) +bpy.types.register(BONE_PT_bone) +bpy.types.register(BONE_PT_deform) |