Cycles: working towards texture workflow design
[blender.git] / release / scripts / startup / bl_ui / space_view3d.py
index bbeb76d2cb158f031602f7752c660bf1a4a6154a..70635cb2444465e9cefdbc654e52514613fa5eba 100644 (file)
@@ -98,6 +98,8 @@ class VIEW3D_HT_header(bpy.types.Header):
             row.prop(toolsettings, "use_snap_peel_object", text="")
         elif toolsettings.snap_element == 'FACE':
             row.prop(toolsettings, "use_snap_project", text="")
+            if toolsettings.use_snap_project and obj.mode == 'EDIT':
+                row.prop(toolsettings, "use_snap_project_self", text="")
 
         # OpenGL render
         row = layout.row(align=True)
@@ -177,6 +179,11 @@ class VIEW3D_MT_transform(bpy.types.Menu):
         layout.operator("object.origin_set", text="Origin to Geometry").type = 'ORIGIN_GEOMETRY'
         layout.operator("object.origin_set", text="Origin to 3D Cursor").type = 'ORIGIN_CURSOR'
 
+        layout.separator()
+
+        layout.operator("object.randomize_transform")
+        layout.operator("object.align")
+
 
 class VIEW3D_MT_mirror(bpy.types.Menu):
     bl_label = "Mirror"
@@ -240,9 +247,21 @@ class VIEW3D_MT_uv_map(bpy.types.Menu):
         layout = self.layout
 
         layout.operator("uv.unwrap")
+
+        layout.operator_context = 'INVOKE_DEFAULT'
+        layout.operator("uv.smart_project")
+        layout.operator("uv.lightmap_pack")
+        layout.operator("uv.follow_active_quads")
+
+        layout.separator()
+
+        layout.operator_context = 'EXEC_DEFAULT'
         layout.operator("uv.cube_project")
         layout.operator("uv.cylinder_project")
         layout.operator("uv.sphere_project")
+
+        layout.separator()
+
         layout.operator("uv.project_from_view")
         layout.operator("uv.project_from_view", text="Project from View (Bounds)").scale_to_bounds = True
 
@@ -250,6 +269,7 @@ class VIEW3D_MT_uv_map(bpy.types.Menu):
 
         layout.operator("uv.reset")
 
+
 # ********** View menus **********
 
 
@@ -261,6 +281,7 @@ class VIEW3D_MT_view(bpy.types.Menu):
 
         layout.operator("view3d.properties", icon='MENU_PANEL')
         layout.operator("view3d.toolshelf", icon='MENU_PANEL')
+        layout.operator("view3d.tool_properties", icon='MENU_PANEL')
 
         layout.separator()
 
@@ -667,6 +688,7 @@ class VIEW3D_MT_object(bpy.types.Menu):
 
         layout.operator("ed.undo")
         layout.operator("ed.redo")
+        layout.operator("ed.undo_history")
 
         layout.separator()
 
@@ -716,7 +738,6 @@ class VIEW3D_MT_object(bpy.types.Menu):
 
 
 class VIEW3D_MT_object_animation(bpy.types.Menu):
-    bl_context = "objectmode"
     bl_label = "Animation"
 
     def draw(self, context):
@@ -834,10 +855,15 @@ class VIEW3D_MT_object_apply(bpy.types.Menu):
     def draw(self, context):
         layout = self.layout
 
-        layout.operator("object.location_apply", text="Location")
-        layout.operator("object.rotation_apply", text="Rotation")
-        layout.operator("object.scale_apply", text="Scale")
+        layout.operator("object.transform_apply", text="Location").location = True
+        layout.operator("object.transform_apply", text="Rotation").rotation = True
+        layout.operator("object.transform_apply", text="Scale").scale = True
+        props = layout.operator("object.transform_apply", text="Rotation & Scale")
+        props.scale = True
+        props.rotation = True
+
         layout.separator()
+
         layout.operator("object.visual_transform_apply", text="Visual Transform")
         layout.operator("object.duplicates_make_real")
 
@@ -1027,6 +1053,7 @@ class VIEW3D_MT_paint_weight(bpy.types.Menu):
 
         layout.operator("ed.undo")
         layout.operator("ed.redo")
+        layout.operator("ed.undo_history")
 
         layout.separator()
 
@@ -1041,6 +1068,10 @@ class VIEW3D_MT_paint_weight(bpy.types.Menu):
         layout.operator("object.vertex_group_clean", text="Clean")
         layout.operator("object.vertex_group_levels", text="Levels")
 
+        layout.separator()
+
+        layout.operator("paint.weight_set")
+
 # ********** Sculpt menu **********
 
 
@@ -1103,6 +1134,7 @@ class VIEW3D_MT_particle(bpy.types.Menu):
 
         layout.operator("ed.undo")
         layout.operator("ed.redo")
+        layout.operator("ed.undo_history")
 
         layout.separator()
 
@@ -1156,22 +1188,20 @@ class VIEW3D_MT_pose(bpy.types.Menu):
 
         layout.operator("ed.undo")
         layout.operator("ed.redo")
+        layout.operator("ed.undo_history")
 
         layout.separator()
 
         layout.menu("VIEW3D_MT_transform")
 
         layout.menu("VIEW3D_MT_pose_transform")
-        layout.menu("VIEW3D_MT_pose_apply")    
-               
+        layout.menu("VIEW3D_MT_pose_apply")
+
         layout.menu("VIEW3D_MT_snap")
 
         layout.separator()
 
-        # TODO: make this an "Animation" menu like we have for object?
-        layout.operator("anim.keyframe_insert_menu", text="Insert Keyframe...")
-        layout.operator("anim.keyframe_delete_v3d", text="Delete Keyframe...")
-        layout.operator("anim.keying_set_active_set", text="Change Keying Set...")
+        layout.menu("VIEW3D_MT_object_animation")
 
         layout.separator()
 
@@ -1252,7 +1282,15 @@ class VIEW3D_MT_pose_propagate(bpy.types.Menu):
         layout = self.layout
 
         layout.operator("pose.propagate")
+
+        layout.separator()
+
         layout.operator("pose.propagate", text="To Next Keyframe").mode = 'NEXT_KEY'
+        layout.operator("pose.propagate", text="To Last Keyframe (Make Cyclic)").mode = 'LAST_KEY'
+
+        layout.separator()
+
+        layout.operator("pose.propagate", text="On Selected Markers").mode = 'SELECTED_MARKERS'
 
 
 class VIEW3D_MT_pose_library(bpy.types.Menu):
@@ -1342,6 +1380,7 @@ class VIEW3D_MT_edit_mesh(bpy.types.Menu):
 
         layout.operator("ed.undo")
         layout.operator("ed.redo")
+        layout.operator("ed.undo_history")
 
         layout.separator()
 
@@ -1813,6 +1852,7 @@ class VIEW3D_MT_edit_meta(bpy.types.Menu):
 
         layout.operator("ed.undo")
         layout.operator("ed.redo")
+        layout.operator("ed.undo_history")
 
         layout.separator()
 
@@ -1993,6 +2033,9 @@ class VIEW3D_PT_view3d_properties(bpy.types.Panel):
         elif not view.lock_object:
             col.prop(view, "lock_cursor", text="Lock to Cursor")
 
+        col = layout.column()
+        col.prop(view, "lock_camera")
+
         col = layout.column(align=True)
         col.label(text="Clip:")
         col.prop(view, "clip_start", text="Start")
@@ -2084,7 +2127,6 @@ class VIEW3D_PT_view3d_display(bpy.types.Panel):
         col = layout.column()
         col.label(text="Shading:")
         col.prop(gs, "material_mode", text="")
-        col.prop(view, "show_textured_solid")
 
         layout.separator()
 
@@ -2284,7 +2326,8 @@ class VIEW3D_PT_etch_a_ton(bpy.types.Panel):
             col.prop(toolsettings, "use_etch_autoname")
             col.prop(toolsettings, "etch_number")
             col.prop(toolsettings, "etch_side")
-            col.operator("sketch.convert", text="Convert")
+
+        col.operator("sketch.convert", text="Convert")
 
 
 class VIEW3D_PT_context_properties(bpy.types.Panel):
@@ -2333,3 +2376,6 @@ def unregister():
 
 if __name__ == "__main__":
     register()
+
+if __name__ == "__main__":  # only for live edit.
+    bpy.utils.register_module(__name__)