Merge from 2.5 r20991 through r21037
[blender.git] / release / ui / buttons_objects.py
index 9c1efacf10abef0751c602399ef27efda3dc44ba..3138f447ad2f078f7e47c94a81d428e5d4c2b36c 100644 (file)
@@ -11,115 +11,114 @@ class OBJECT_PT_transform(ObjectButtonsPanel):
        __label__ = "Transform"
 
        def draw(self, context):
-               ob = context.active_object
                layout = self.layout
+               ob = context.object
 
-               if not ob:
-                       return
-
-               layout.row()
-               layout.itemR(ob, "location")
-               layout.itemR(ob, "rotation")
-               layout.itemR(ob, "scale")
+               row = layout.row()
+               row.column().itemR(ob, "location")
+               row.column().itemR(ob, "rotation")
+               row.column().itemR(ob, "scale")
 
 class OBJECT_PT_groups(ObjectButtonsPanel):
        __idname__ = "OBJECT_PT_groups"
        __label__ = "Groups"
 
        def draw(self, context):
-               ob = context.active_object
                layout = self.layout
+               ob = context.object
 
-               if not ob:
-                       return
-
-               layout.row()
-               layout.itemR(ob, "pass_index")
-               layout.itemR(ob, "parent")
+               row = layout.row()
+               row.itemR(ob, "pass_index")
+               row.itemR(ob, "parent")
 
                # layout.left_right()
                # layout.itemO("OBJECT_OT_add_group");
 
                for group in bpy.data.groups:
-                       if ob in group.objects:
-                               sub = layout.box()
+                       if ob.name in group.objects:
+                               col = layout.column(align=True)
 
-                               sub.split(number=2, lr=True)
-                               sub.sub(0).itemR(group, "name")
-                               # sub.sub(1).itemO("OBJECT_OT_remove_group")
+                               row = col.box().row()
+                               row.itemR(group, "name", text="")
+                               #row.itemO("OBJECT_OT_remove_group")
 
-                               sub.row()
-                               sub.itemR(group, "layer")
-                               sub.itemR(group, "dupli_offset")
+                               split = col.box().split()
+                               split.column().itemR(group, "layer")
+                               split.column().itemR(group, "dupli_offset")
 
 class OBJECT_PT_display(ObjectButtonsPanel):
        __idname__ = "OBJECT_PT_display"
        __label__ = "Display"
 
        def draw(self, context):
-               ob = context.active_object
                layout = self.layout
-
-               if not ob:
-                       return
-
-               layout.row()
-               layout.itemR(ob, "max_draw_type", text="Type")
-               layout.itemR(ob, "draw_bounds_type", text="Bounds")
-
-               layout.column_flow()
-               layout.itemR(ob, "draw_name", text="Name")
-               layout.itemR(ob, "draw_axis", text="Axis")
-               layout.itemR(ob, "draw_wire", text="Wire")
-               layout.itemR(ob, "draw_texture_space", text="Texture Space")
-               layout.itemR(ob, "x_ray", text="X-Ray")
-               layout.itemR(ob, "draw_transparent", text="Transparency")
+               ob = context.object
+                       
+               row = layout.row()
+               row.itemR(ob, "max_draw_type", text="Type")
+               row.itemR(ob, "draw_bounds_type", text="Bounds")
+
+               flow = layout.column_flow()
+               flow.itemR(ob, "draw_name", text="Name")
+               flow.itemR(ob, "draw_axis", text="Axis")
+               flow.itemR(ob, "draw_wire", text="Wire")
+               flow.itemR(ob, "draw_texture_space", text="Texture Space")
+               flow.itemR(ob, "x_ray", text="X-Ray")
+               flow.itemR(ob, "draw_transparent", text="Transparency")
 
 class OBJECT_PT_duplication(ObjectButtonsPanel):
        __idname__ = "OBJECT_PT_duplication"
        __label__ = "Duplication"
 
        def draw(self, context):
-               ob = context.active_object
                layout = self.layout
-
-               if not ob:
-                       return
-
-               layout.column()
-               layout.itemR(ob, "dupli_type", text="", expand=True)
-
-               if ob.dupli_type == "FRAMES":
-                       layout.column_flow()
-                       layout.itemR(ob, "dupli_frames_start", text="Start:")
-                       layout.itemR(ob, "dupli_frames_end", text="End:")
-                       layout.itemR(ob, "dupli_frames_on", text="On:")
-                       layout.itemR(ob, "dupli_frames_off", text="Off:")
+               ob = context.object
+
+               layout.itemR(ob, "dupli_type", expand=True)
+
+               if ob.dupli_type == 'FRAMES':
+                       split = layout.split()
+                       
+                       sub = split.column(align=True)
+                       sub.itemR(ob, "dupli_frames_start", text="Start")
+                       sub.itemR(ob, "dupli_frames_end", text="End")
+                       
+                       sub = split.column(align=True)
+                       sub.itemR(ob, "dupli_frames_on", text="On")
+                       sub.itemR(ob, "dupli_frames_off", text="Off")
+                       
+                       layout.itemR(ob, "dupli_frames_no_speed", text="No Speed")
+
+               elif ob.dupli_type == 'VERTS':
+                       layout.itemR(ob, "dupli_verts_rotation", text="Rotation")
+
+               elif ob.dupli_type == 'FACES':
+                       row = layout.row()
+                       row.itemR(ob, "dupli_faces_scale", text="Scale")
+                       row.itemR(ob, "dupli_faces_inherit_scale", text="Inherit Scale")
+
+               elif ob.dupli_type == 'GROUP':
+                       layout.itemR(ob, "dupli_group", text="Group")
 
 class OBJECT_PT_animation(ObjectButtonsPanel):
        __idname__ = "OBJECT_PT_animation"
        __label__ = "Animation"
 
        def draw(self, context):
-               ob = context.active_object
                layout = self.layout
-
-               if not ob:
-                       return
-
-               layout.split(number=2)
+               ob = context.object
+               
+               split = layout.split()
                
-               sub = layout.sub(0)
-               sub.column()
+               sub = split.column()
                sub.itemL(text="Time Offset:")
                sub.itemR(ob, "time_offset_edit", text="Edit")
                sub.itemR(ob, "time_offset_particle", text="Particle")
                sub.itemR(ob, "time_offset_parent", text="Parent")
                sub.itemR(ob, "slow_parent")
-               sub.itemR(ob, "time_offset", text="Offset:")
+               sub.itemR(ob, "time_offset", text="Offset")
                
-               sub = layout.sub(1)
-               sub.column()
+               sub = split.column()
                sub.itemL(text="Tracking:")
                sub.itemR(ob, "track_axis", text="Axis")
                sub.itemR(ob, "up_axis", text="Up Axis")
@@ -129,5 +128,4 @@ bpy.types.register(OBJECT_PT_transform)
 bpy.types.register(OBJECT_PT_groups)
 bpy.types.register(OBJECT_PT_display)
 bpy.types.register(OBJECT_PT_duplication)
-bpy.types.register(OBJECT_PT_animation)
-
+bpy.types.register(OBJECT_PT_animation)
\ No newline at end of file