diff options
author | Joseph Eagar <joeedh@gmail.com> | 2010-09-04 09:31:25 +0400 |
---|---|---|
committer | Joseph Eagar <joeedh@gmail.com> | 2010-09-04 09:31:25 +0400 |
commit | bb7339a7aec37bdb2ee8a21599e6c65b37ef1277 (patch) | |
tree | 6fb8da94c6e43098c606f768e722484b04b8645c /release/scripts/ui/properties_object.py | |
parent | 37f2c8a64c3277f100ab084ef1bb3846bc7b2c62 (diff) | |
parent | 8a320974f1b3e6004db3b3ad64f97742f878cbee (diff) |
merge with trunk at r31523
Diffstat (limited to 'release/scripts/ui/properties_object.py')
-rw-r--r-- | release/scripts/ui/properties_object.py | 205 |
1 files changed, 96 insertions, 109 deletions
diff --git a/release/scripts/ui/properties_object.py b/release/scripts/ui/properties_object.py index 4e60879d665..a87a43a7998 100644 --- a/release/scripts/ui/properties_object.py +++ b/release/scripts/ui/properties_object.py @@ -20,16 +20,14 @@ import bpy from rna_prop_ui import PropertyPanel -narrowui = bpy.context.user_preferences.view.properties_width_check - -class ObjectButtonsPanel(bpy.types.Panel): +class ObjectButtonsPanel(): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' bl_context = "object" -class OBJECT_PT_context_object(ObjectButtonsPanel): +class OBJECT_PT_context_object(ObjectButtonsPanel, bpy.types.Panel): bl_label = "" bl_show_header = False @@ -46,51 +44,33 @@ class OBJECT_PT_context_object(ObjectButtonsPanel): row.prop(ob, "name", text="") -class OBJECT_PT_custom_props(ObjectButtonsPanel, PropertyPanel): - _context_path = "object" - - -class OBJECT_PT_transform(ObjectButtonsPanel): +class OBJECT_PT_transform(ObjectButtonsPanel, bpy.types.Panel): bl_label = "Transform" def draw(self, context): layout = self.layout ob = context.object - wide_ui = context.region.width > narrowui - if wide_ui: - row = layout.row() + row = layout.row() - row.column().prop(ob, "location") - if ob.rotation_mode == 'QUATERNION': - row.column().prop(ob, "rotation_quaternion", text="Rotation") - elif ob.rotation_mode == 'AXIS_ANGLE': - #row.column().label(text="Rotation") - #row.column().prop(pchan, "rotation_angle", text="Angle") - #row.column().prop(pchan, "rotation_axis", text="Axis") - row.column().prop(ob, "rotation_axis_angle", text="Rotation") - else: - row.column().prop(ob, "rotation_euler", text="Rotation") + row.column().prop(ob, "location") + if ob.rotation_mode == 'QUATERNION': + row.column().prop(ob, "rotation_quaternion", text="Rotation") + elif ob.rotation_mode == 'AXIS_ANGLE': + #row.column().label(text="Rotation") + #row.column().prop(pchan, "rotation_angle", text="Angle") + #row.column().prop(pchan, "rotation_axis", text="Axis") + row.column().prop(ob, "rotation_axis_angle", text="Rotation") + else: + row.column().prop(ob, "rotation_euler", text="Rotation") - row.column().prop(ob, "scale") + row.column().prop(ob, "scale") - layout.prop(ob, "rotation_mode") - else: - col = layout.column() - col.prop(ob, "location") - col.label(text="Rotation:") - col.prop(ob, "rotation_mode", text="") - if ob.rotation_mode == 'QUATERNION': - col.prop(ob, "rotation_quaternion", text="") - elif ob.rotation_mode == 'AXIS_ANGLE': - col.prop(ob, "rotation_axis_angle", text="") - else: - col.prop(ob, "rotation_euler", text="") - col.prop(ob, "scale") - - -class OBJECT_PT_transform_locks(ObjectButtonsPanel): + layout.prop(ob, "rotation_mode") + + +class OBJECT_PT_transform_locks(ObjectButtonsPanel, bpy.types.Panel): bl_label = "Transform Locks" bl_default_closed = True @@ -98,7 +78,6 @@ class OBJECT_PT_transform_locks(ObjectButtonsPanel): layout = self.layout ob = context.object - # wide_ui = context.region.width > narrowui row = layout.row() @@ -117,14 +96,13 @@ class OBJECT_PT_transform_locks(ObjectButtonsPanel): row.column().prop(ob, "lock_scale", text="Scale") -class OBJECT_PT_relations(ObjectButtonsPanel): +class OBJECT_PT_relations(ObjectButtonsPanel, bpy.types.Panel): bl_label = "Relations" def draw(self, context): layout = self.layout ob = context.object - wide_ui = context.region.width > narrowui split = layout.split() @@ -133,8 +111,7 @@ class OBJECT_PT_relations(ObjectButtonsPanel): col.separator() col.prop(ob, "pass_index") - if wide_ui: - col = split.column() + col = split.column() col.label(text="Parent:") col.prop(ob, "parent", text="") @@ -146,14 +123,13 @@ class OBJECT_PT_relations(ObjectButtonsPanel): sub.active = (parent is not None) -class OBJECT_PT_groups(ObjectButtonsPanel): +class OBJECT_PT_groups(ObjectButtonsPanel, bpy.types.Panel): bl_label = "Groups" def draw(self, context): layout = self.layout ob = context.object - wide_ui = context.region.width > narrowui row = layout.row(align=True) row.operator("object.group_link", text="Add to Group") @@ -175,10 +151,9 @@ class OBJECT_PT_groups(ObjectButtonsPanel): split = col.box().split() col = split.column() - col.prop(group, "layer", text="Dupli") + col.prop(group, "layers", text="Dupli") - if wide_ui: - col = split.column() + col = split.column() col.prop(group, "dupli_offset", text="") prop = col.operator("wm.context_set_value", text="From Cursor") @@ -187,55 +162,48 @@ class OBJECT_PT_groups(ObjectButtonsPanel): index += 1 -class OBJECT_PT_display(ObjectButtonsPanel): +class OBJECT_PT_display(ObjectButtonsPanel, bpy.types.Panel): bl_label = "Display" def draw(self, context): layout = self.layout ob = context.object - wide_ui = context.region.width > narrowui split = layout.split() col = split.column() - col.prop(ob, "max_draw_type", text="Type") + col.prop(ob, "draw_type", text="Type") - if wide_ui: - col = split.column() + col = split.column() row = col.row() - row.prop(ob, "draw_bounds", text="Bounds") + row.prop(ob, "show_bounds", text="Bounds") sub = row.row() - sub.active = ob.draw_bounds + sub.active = ob.show_bounds sub.prop(ob, "draw_bounds_type", text="") split = layout.split() col = split.column() - col.prop(ob, "draw_name", text="Name") - col.prop(ob, "draw_axis", text="Axis") - col.prop(ob, "draw_wire", text="Wire") + col.prop(ob, "show_name", text="Name") + col.prop(ob, "show_axis", text="Axis") + col.prop(ob, "show_wire", text="Wire") col.prop(ob, "color", text="Object Color") - if wide_ui: - col = split.column() - col.prop(ob, "draw_texture_space", text="Texture Space") - col.prop(ob, "x_ray", text="X-Ray") - col.prop(ob, "draw_transparent", text="Transparency") + col = split.column() + col.prop(ob, "show_texture_space", text="Texture Space") + col.prop(ob, "show_x_ray", text="X-Ray") + col.prop(ob, "show_transparent", text="Transparency") -class OBJECT_PT_duplication(ObjectButtonsPanel): +class OBJECT_PT_duplication(ObjectButtonsPanel, bpy.types.Panel): bl_label = "Duplication" def draw(self, context): layout = self.layout ob = context.object - wide_ui = context.region.width > narrowui - if wide_ui: - layout.prop(ob, "dupli_type", expand=True) - else: - layout.prop(ob, "dupli_type", text="") + layout.prop(ob, "dupli_type", expand=True) if ob.dupli_type == 'FRAMES': split = layout.split() @@ -244,15 +212,14 @@ class OBJECT_PT_duplication(ObjectButtonsPanel): col.prop(ob, "dupli_frames_start", text="Start") col.prop(ob, "dupli_frames_end", text="End") - if wide_ui: - col = split.column(align=True) + col = split.column(align=True) col.prop(ob, "dupli_frames_on", text="On") col.prop(ob, "dupli_frames_off", text="Off") layout.prop(ob, "use_dupli_frames_speed", text="Speed") elif ob.dupli_type == 'VERTS': - layout.prop(ob, "use_dupli_verts_rotation", text="Rotation") + layout.prop(ob, "use_dupli_vertices_rotation", text="Rotation") elif ob.dupli_type == 'FACES': split = layout.split() @@ -260,20 +227,16 @@ class OBJECT_PT_duplication(ObjectButtonsPanel): col = split.column() col.prop(ob, "use_dupli_faces_scale", text="Scale") - if wide_ui: - col = split.column() + col = split.column() col.prop(ob, "dupli_faces_scale", text="Inherit Scale") elif ob.dupli_type == 'GROUP': - if wide_ui: - layout.prop(ob, "dupli_group", text="Group") - else: - layout.prop(ob, "dupli_group", text="") + layout.prop(ob, "dupli_group", text="Group") -# XXX: the following options are all quite buggy, ancient hacks that should be dropped +# XXX: the following options are all quite buggy, ancient hacks that should be dropped -class OBJECT_PT_animation(ObjectButtonsPanel): +class OBJECT_PT_animation(ObjectButtonsPanel, bpy.types.Panel): bl_label = "Animation Hacks" bl_default_closed = True @@ -281,61 +244,85 @@ class OBJECT_PT_animation(ObjectButtonsPanel): layout = self.layout ob = context.object - wide_ui = context.region.width > narrowui split = layout.split() col = split.column() col.label(text="Time Offset:") - col.prop(ob, "time_offset_edit", text="Edit") + col.prop(ob, "use_time_offset_edit", text="Edit") row = col.row() - row.prop(ob, "time_offset_particle", text="Particle") - row.active = len(ob.particle_systems) != 0 + row.prop(ob, "use_time_offset_particle", text="Particle") + row.active = bool(ob.particle_systems) row = col.row() - row.prop(ob, "time_offset_parent", text="Parent") + row.prop(ob, "use_time_offset_parent", text="Parent") row.active = (ob.parent is not None) row = col.row() - row.prop(ob, "slow_parent") + row.prop(ob, "use_slow_parent") row.active = (ob.parent is not None) col.prop(ob, "time_offset", text="Offset") # XXX: these are still used for a few curve-related tracking features - if wide_ui: - col = split.column() + col = split.column() col.label(text="Tracking Axes:") col.prop(ob, "track_axis", text="Axis") col.prop(ob, "up_axis", text="Up Axis") +from properties_animviz import MotionPathButtonsPanel, OnionSkinButtonsPanel + -# import generic panels from other files -from properties_animviz import OBJECT_PT_motion_paths, OBJECT_PT_onion_skinning +class OBJECT_PT_motion_paths(MotionPathButtonsPanel, bpy.types.Panel): + #bl_label = "Object Motion Paths" + bl_context = "object" + + @classmethod + def poll(cls, context): + return (context.object) + + def draw(self, context): + layout = self.layout + + ob = context.object -classes = [ - OBJECT_PT_context_object, - OBJECT_PT_transform, - OBJECT_PT_transform_locks, - OBJECT_PT_relations, - OBJECT_PT_groups, - OBJECT_PT_display, - OBJECT_PT_duplication, - OBJECT_PT_animation, # XXX: panel of old hacks pending to be removed... + self.draw_settings(context, ob.animation_visualisation) - OBJECT_PT_motion_paths, - #OBJECT_PT_onion_skinning, + layout.separator() + + split = layout.split() + + col = split.column() + col.operator("object.paths_calculate", text="Calculate Paths") + + col = split.column() + col.operator("object.paths_clear", text="Clear Paths") - OBJECT_PT_custom_props] + +class OBJECT_PT_onion_skinning(OnionSkinButtonsPanel): #, bpy.types.Panel): # inherit from panel when ready + #bl_label = "Object Onion Skinning" + bl_context = "object" + + @classmethod + def poll(cls, context): + return (context.object) + + def draw(self, context): + layout = self.layout + + ob = context.object + + self.draw_settings(context, ob.animation_visualisation) + + +class OBJECT_PT_custom_props(ObjectButtonsPanel, PropertyPanel, bpy.types.Panel): + COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} + _context_path = "object" def register(): - register = bpy.types.register - for cls in classes: - register(cls) + pass def unregister(): - unregister = bpy.types.unregister - for cls in classes: - unregister(cls) + pass if __name__ == "__main__": register() |