diff options
Diffstat (limited to 'release/scripts/startup/bl_ui/space_view3d.py')
-rw-r--r-- | release/scripts/startup/bl_ui/space_view3d.py | 72 |
1 files changed, 55 insertions, 17 deletions
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index 9cf52056875..9dda960ea3b 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -69,7 +69,7 @@ class VIEW3D_HT_header(Header): row.prop(toolsettings.particle_edit, "select_mode", text="", expand=True) # Occlude geometry - if view.viewport_shade in {'SOLID', 'SHADED', 'TEXTURED'} and (obj.mode == 'PARTICLE_EDIT' or (obj.mode == 'EDIT' and obj.type == 'MESH')): + if view.viewport_shade not in {'BOUNDBOX', 'WIREFRAME'} and (obj.mode == 'PARTICLE_EDIT' or (obj.mode == 'EDIT' and obj.type == 'MESH')): row.prop(view, "use_occlude_geometry", text="") # Proportional editing @@ -135,7 +135,9 @@ class ShowHideMenu(): layout.operator("%s.hide" % self._operator_name, text="Hide Unselected").unselected = True -class VIEW3D_MT_transform(Menu): +# Standard transforms which apply to all cases +# NOTE: this doesn't seem to be able to be used directly +class VIEW3D_MT_transform_base(Menu): bl_label = "Transform" # TODO: get rid of the custom text strings? @@ -156,22 +158,38 @@ class VIEW3D_MT_transform(Menu): layout.operator("transform.warp", text="Warp") layout.operator("transform.push_pull", text="Push/Pull") + +# Generic transform menu - geometry types +class VIEW3D_MT_transform(VIEW3D_MT_transform_base): + def draw(self, context): + # base menu + VIEW3D_MT_transform_base.draw(self, context) + + # generic... + layout = self.layout layout.separator() layout.operator("transform.translate", text="Move Texture Space").texture_space = True layout.operator("transform.resize", text="Scale Texture Space").texture_space = True - layout.separator() - obj = context.object - if obj.type == 'ARMATURE' and obj.mode in {'EDIT', 'POSE'} and obj.data.draw_type in {'BBONE', 'ENVELOPE'}: - layout.operator("transform.transform", text="Scale Envelope/BBone").mode = 'BONE_SIZE' +# Object-specific extensions to Transform menu +class VIEW3D_MT_transform_object(VIEW3D_MT_transform_base): + def draw(self, context): + # base menu + VIEW3D_MT_transform_base.draw(self, context) + + # object-specific option follow... + layout = self.layout + layout.separator() - if context.edit_object and context.edit_object.type == 'ARMATURE': - layout.operator("armature.align") - else: - layout.operator_context = 'EXEC_REGION_WIN' - layout.operator("transform.transform", text="Align to Transform Orientation").mode = 'ALIGN' # XXX see alignmenu() in edit.c of b2.4x to get this working + layout.operator("transform.translate", text="Move Texture Space").texture_space = True + layout.operator("transform.resize", text="Scale Texture Space").texture_space = True + + layout.separator() + + layout.operator_context = 'EXEC_REGION_WIN' + layout.operator("transform.transform", text="Align to Transform Orientation").mode = 'ALIGN' # XXX see alignmenu() in edit.c of b2.4x to get this working layout.separator() @@ -191,6 +209,25 @@ class VIEW3D_MT_transform(Menu): layout.operator("object.anim_transforms_to_deltas") +# Armature EditMode extensions to Transform menu +class VIEW3D_MT_transform_armature(VIEW3D_MT_transform_base): + def draw(self, context): + # base menu + VIEW3D_MT_transform_base.draw(self, context) + + # armature specific extensions follow... + layout = self.layout + layout.separator() + + obj = context.object + if (obj.type == 'ARMATURE' and obj.mode in {'EDIT', 'POSE'} and + obj.data.draw_type in {'BBONE', 'ENVELOPE'}): + layout.operator("transform.transform", text="Scale Envelope/BBone").mode = 'BONE_SIZE' + + if context.edit_object and context.edit_object.type == 'ARMATURE': + layout.operator("armature.align") + + class VIEW3D_MT_mirror(Menu): bl_label = "Mirror" @@ -699,7 +736,7 @@ class VIEW3D_MT_object(Menu): layout.separator() - layout.menu("VIEW3D_MT_transform") + layout.menu("VIEW3D_MT_transform_object") layout.menu("VIEW3D_MT_mirror") layout.menu("VIEW3D_MT_object_clear") layout.menu("VIEW3D_MT_object_apply") @@ -1317,7 +1354,7 @@ class VIEW3D_MT_pose(Menu): layout.separator() - layout.menu("VIEW3D_MT_transform") + layout.menu("VIEW3D_MT_transform_armature") layout.menu("VIEW3D_MT_pose_transform") layout.menu("VIEW3D_MT_pose_apply") @@ -2071,7 +2108,7 @@ class VIEW3D_MT_edit_armature(Menu): edit_object = context.edit_object arm = edit_object.data - layout.menu("VIEW3D_MT_transform") + layout.menu("VIEW3D_MT_transform_armature") layout.menu("VIEW3D_MT_mirror") layout.menu("VIEW3D_MT_snap") layout.menu("VIEW3D_MT_edit_armature_roll") @@ -2378,9 +2415,10 @@ class VIEW3D_PT_view3d_meshdisplay(Panel): col.separator() col.label(text="Normals:") - row = col.row(align=True) - row.prop(mesh, "show_normal_vertex", text="", icon='VERTEXSEL') - row.prop(mesh, "show_normal_face", text="", icon='FACESEL') + row = col.row() + sub = row.row(align=True) + sub.prop(mesh, "show_normal_vertex", text="", icon='VERTEXSEL') + sub.prop(mesh, "show_normal_face", text="", icon='FACESEL') row.prop(context.scene.tool_settings, "normal_size", text="Size") col.separator() |