Merge from 2.5 r20991 through r21037
[blender.git] / release / ui / buttons_objects.py
index 816995be224d464b744e42397eb57c8a39f6e258..3138f447ad2f078f7e47c94a81d428e5d4c2b36c 100644 (file)
@@ -6,16 +6,13 @@ class ObjectButtonsPanel(bpy.types.Panel):
        __region_type__ = "WINDOW"
        __context__ = "object"
 
-       def poll(self, context):
-               return (context.active_object != None)
-
 class OBJECT_PT_transform(ObjectButtonsPanel):
        __idname__ = "OBJECT_PT_transform"
        __label__ = "Transform"
 
        def draw(self, context):
-               ob = context.active_object
                layout = self.layout
+               ob = context.object
 
                row = layout.row()
                row.column().itemR(ob, "location")
@@ -27,8 +24,8 @@ class OBJECT_PT_groups(ObjectButtonsPanel):
        __label__ = "Groups"
 
        def draw(self, context):
-               ob = context.active_object
                layout = self.layout
+               ob = context.object
 
                row = layout.row()
                row.itemR(ob, "pass_index")
@@ -38,24 +35,24 @@ class OBJECT_PT_groups(ObjectButtonsPanel):
                # layout.itemO("OBJECT_OT_add_group");
 
                for group in bpy.data.groups:
-                       if ob in group.objects:
-                               box = layout.box()
+                       if ob.name in group.objects:
+                               col = layout.column(align=True)
 
-                               row = box.row()
-                               row.itemR(group, "name")
+                               row = col.box().row()
+                               row.itemR(group, "name", text="")
                                #row.itemO("OBJECT_OT_remove_group")
 
-                               row = box.row()
-                               row.column().itemR(group, "layer")
-                               row.column().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
+               ob = context.object
                        
                row = layout.row()
                row.itemR(ob, "max_draw_type", text="Type")
@@ -74,30 +71,46 @@ class OBJECT_PT_duplication(ObjectButtonsPanel):
        __label__ = "Duplication"
 
        def draw(self, context):
-               ob = context.active_object
                layout = self.layout
+               ob = context.object
 
-               row = layout.row()
-               row.itemR(ob, "dupli_type", text="", expand=True)
+               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")
 
-               if ob.dupli_type == "FRAMES":
-                       col = layout.column_flow()
-                       col.itemR(ob, "dupli_frames_start", text="Start")
-                       col.itemR(ob, "dupli_frames_end", text="End")
-                       col.itemR(ob, "dupli_frames_on", text="On")
-                       col.itemR(ob, "dupli_frames_off", text="Off")
+               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
-
-               row = layout.row()
+               ob = context.object
+               
+               split = layout.split()
                
-               sub = row.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")
@@ -105,7 +118,7 @@ class OBJECT_PT_animation(ObjectButtonsPanel):
                sub.itemR(ob, "slow_parent")
                sub.itemR(ob, "time_offset", text="Offset")
                
-               sub = row.column()
+               sub = split.column()
                sub.itemL(text="Tracking:")
                sub.itemR(ob, "track_axis", text="Axis")
                sub.itemR(ob, "up_axis", text="Up Axis")
@@ -115,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