forked from bartvdbraak/blender
AnimViz (Motion Paths + Ghosting) panels are registered so that they will show up in a sensible location in the properties window. Also made these panels collapsed by default.
This commit is contained in:
parent
4d3accd0cb
commit
4b80d4e60d
@ -29,6 +29,7 @@ class MotionPathButtonsPanel(bpy.types.Panel):
|
||||
bl_space_type = 'PROPERTIES'
|
||||
bl_region_type = 'WINDOW'
|
||||
bl_label = "Motion Paths"
|
||||
bl_default_closed = True
|
||||
|
||||
def draw_settings(self, context, avs, wide_ui, bones=False):
|
||||
layout = self.layout
|
||||
@ -68,6 +69,7 @@ class OnionSkinButtonsPanel(bpy.types.Panel):
|
||||
bl_space_type = 'PROPERTIES'
|
||||
bl_region_type = 'WINDOW'
|
||||
bl_label = "Onion Skinning"
|
||||
bl_default_closed = True
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
@ -101,7 +103,6 @@ class OnionSkinButtonsPanel(bpy.types.Panel):
|
||||
################################################
|
||||
# Specific Panels for DataTypes
|
||||
|
||||
|
||||
class OBJECT_PT_motion_paths(MotionPathButtonsPanel):
|
||||
#bl_label = "Object Motion Paths"
|
||||
bl_context = "object"
|
||||
@ -128,9 +129,23 @@ class OBJECT_PT_motion_paths(MotionPathButtonsPanel):
|
||||
col = split.column()
|
||||
col.operator("object.paths_clear", text="Clear Paths")
|
||||
|
||||
class OBJECT_PT_onion_skinning(OnionSkinButtonsPanel):
|
||||
#bl_label = "Object Onion Skinning"
|
||||
bl_context = "object"
|
||||
|
||||
def poll(self, context):
|
||||
return (context.object)
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
|
||||
ob = context.object
|
||||
wide_ui = context.region.width > narrowui
|
||||
|
||||
self.draw_settings(context, ob.animation_visualisation, wide_ui)
|
||||
|
||||
class DATA_PT_motion_paths(MotionPathButtonsPanel):
|
||||
#bl_label = "Bone Motion Paths"
|
||||
#bl_label = "Bones Motion Paths"
|
||||
bl_context = "data"
|
||||
|
||||
def poll(self, context):
|
||||
@ -156,14 +171,32 @@ class DATA_PT_motion_paths(MotionPathButtonsPanel):
|
||||
col = split.column()
|
||||
col.operator("pose.paths_clear", text="Clear Paths")
|
||||
|
||||
class DATA_PT_onion_skinning(OnionSkinButtonsPanel):
|
||||
#bl_label = "Bones Onion Skinning"
|
||||
bl_context = "data"
|
||||
|
||||
classes = [
|
||||
OBJECT_PT_motion_paths,
|
||||
DATA_PT_motion_paths]
|
||||
def poll(self, context):
|
||||
# XXX: include posemode check?
|
||||
return (context.object) and (context.armature)
|
||||
|
||||
# OBJECT_PT_onion_skinning
|
||||
# DATA_PT_onion_skinning
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
|
||||
ob = context.object
|
||||
wide_ui = context.region.width > narrowui
|
||||
|
||||
self.draw_settings(context, ob.pose.animation_visualisation, wide_ui, bones=True)
|
||||
|
||||
# NOTE:
|
||||
# The specialised panel types defined here (i.e. OBJECT_PT_*, etc.)
|
||||
# aren't registered here, but are rather imported to (and registered)
|
||||
# in the files defining the contexts where they reside. Otherwise,
|
||||
# these panels appear at the top of the lists by default.
|
||||
#
|
||||
# However, we keep these empty register funcs here just in case
|
||||
# something will need them again one day, and also to make
|
||||
# it easier to maintain these scripts.
|
||||
classes = []
|
||||
|
||||
def register():
|
||||
register = bpy.types.register
|
||||
|
@ -253,6 +253,9 @@ class DATA_PT_iksolver_itasc(DataButtonsPanel):
|
||||
row.prop(itasc, "dampmax", text="Damp", slider=True)
|
||||
row.prop(itasc, "dampeps", text="Eps", slider=True)
|
||||
|
||||
# import generic panels from other files
|
||||
from properties_animviz import DATA_PT_motion_paths, DATA_PT_onion_skinning
|
||||
|
||||
classes = [
|
||||
DATA_PT_context_arm,
|
||||
DATA_PT_skeleton,
|
||||
@ -261,6 +264,9 @@ classes = [
|
||||
DATA_PT_ghost,
|
||||
DATA_PT_iksolver_itasc,
|
||||
|
||||
DATA_PT_motion_paths,
|
||||
#DATA_PT_onion_skinning,
|
||||
|
||||
DATA_PT_custom_props_arm]
|
||||
|
||||
|
||||
|
@ -304,6 +304,8 @@ class OBJECT_PT_animation(ObjectButtonsPanel):
|
||||
row.prop(ob, "track_override_parent", text="Override Parent")
|
||||
row.active = (ob.parent is not None)
|
||||
|
||||
# import generic panels from other files
|
||||
from properties_animviz import OBJECT_PT_motion_paths, OBJECT_PT_onion_skinning
|
||||
|
||||
classes = [
|
||||
OBJECT_PT_context_object,
|
||||
@ -314,6 +316,9 @@ classes = [
|
||||
OBJECT_PT_display,
|
||||
OBJECT_PT_duplication,
|
||||
OBJECT_PT_animation,
|
||||
|
||||
OBJECT_PT_motion_paths,
|
||||
#OBJECT_PT_onion_skinning,
|
||||
|
||||
OBJECT_PT_custom_props]
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user