[Bf-blender-cvs] [f0c8a1641c2] temp-workspace-object-mode-removal: Initial move of Object.mode to workspace
Campbell Barton
noreply at git.blender.org
Sat Feb 3 12:13:15 CET 2018
Commit: f0c8a1641c2261e02d925d8e7e2894ea6cc886bf
Author: Campbell Barton
Date: Sat Feb 3 21:41:50 2018 +1100
Branches: temp-workspace-object-mode-removal
https://developer.blender.org/rBf0c8a1641c2261e02d925d8e7e2894ea6cc886bf
Initial move of Object.mode to workspace
===================================================================
M release/scripts/startup/bl_operators/view3d.py
M release/scripts/startup/bl_ui/properties_data_mesh.py
M release/scripts/startup/bl_ui/properties_material.py
M release/scripts/startup/bl_ui/space_info.py
M release/scripts/startup/bl_ui/space_view3d.py
M source/blender/blenkernel/BKE_DerivedMesh.h
M source/blender/blenkernel/BKE_cloth.h
M source/blender/blenkernel/BKE_context.h
M source/blender/blenkernel/BKE_modifier.h
M source/blender/blenkernel/BKE_multires.h
M source/blender/blenkernel/BKE_object.h
M source/blender/blenkernel/BKE_paint.h
M source/blender/blenkernel/BKE_particle.h
M source/blender/blenkernel/BKE_shrinkwrap.h
M source/blender/blenkernel/BKE_workspace.h
M source/blender/blenkernel/intern/DerivedMesh.c
M source/blender/blenkernel/intern/cdderivedmesh.c
M source/blender/blenkernel/intern/cloth.c
M source/blender/blenkernel/intern/context.c
M source/blender/blenkernel/intern/modifier.c
M source/blender/blenkernel/intern/multires.c
M source/blender/blenkernel/intern/object.c
M source/blender/blenkernel/intern/paint.c
M source/blender/blenkernel/intern/particle.c
M source/blender/blenkernel/intern/particle_system.c
M source/blender/blenkernel/intern/scene.c
M source/blender/blenkernel/intern/shrinkwrap.c
M source/blender/blenkernel/intern/subsurf_ccg.c
M source/blender/blenkernel/intern/workspace.c
M source/blender/blenloader/intern/readfile.c
M source/blender/blenloader/intern/versioning_250.c
M source/blender/bmesh/intern/bmesh_mesh.c
M source/blender/depsgraph/DEG_depsgraph.h
M source/blender/depsgraph/intern/depsgraph_eval.cc
M source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
M source/blender/draw/engines/clay/clay_engine.c
M source/blender/draw/engines/eevee/eevee_materials.c
M source/blender/draw/engines/eevee/eevee_motion_blur.c
M source/blender/draw/intern/DRW_render.h
M source/blender/draw/intern/draw_armature.c
M source/blender/draw/intern/draw_common.c
M source/blender/draw/intern/draw_common.h
M source/blender/draw/intern/draw_manager.c
M source/blender/draw/intern/draw_view.c
M source/blender/draw/modes/object_mode.c
M source/blender/draw/modes/pose_mode.c
M source/blender/editors/animation/keyframing.c
M source/blender/editors/armature/armature_relations.c
M source/blender/editors/armature/armature_skinning.c
M source/blender/editors/armature/meshlaplacian.c
M source/blender/editors/armature/meshlaplacian.h
M source/blender/editors/armature/pose_edit.c
M source/blender/editors/armature/pose_select.c
M source/blender/editors/curve/editcurve.c
M source/blender/editors/include/ED_armature.h
M source/blender/editors/include/ED_image.h
M source/blender/editors/include/ED_info.h
M source/blender/editors/include/ED_mesh.h
M source/blender/editors/include/ED_object.h
M source/blender/editors/include/ED_screen.h
M source/blender/editors/include/ED_uvedit.h
M source/blender/editors/interface/interface_handlers.c
M source/blender/editors/interface/interface_icons.c
M source/blender/editors/interface/interface_templates.c
M source/blender/editors/mesh/editmesh_select.c
M source/blender/editors/mesh/editmesh_utils.c
M source/blender/editors/mesh/mesh_data.c
M source/blender/editors/mesh/meshtools.c
M source/blender/editors/object/object_add.c
M source/blender/editors/object/object_bake.c
M source/blender/editors/object/object_bake_api.c
M source/blender/editors/object/object_constraint.c
M source/blender/editors/object/object_edit.c
M source/blender/editors/object/object_facemap_ops.c
M source/blender/editors/object/object_modifier.c
M source/blender/editors/object/object_ops.c
M source/blender/editors/object/object_relations.c
M source/blender/editors/object/object_select.c
M source/blender/editors/object/object_shapekey.c
M source/blender/editors/object/object_transform.c
M source/blender/editors/object/object_vgroup.c
M source/blender/editors/physics/particle_edit.c
M source/blender/editors/physics/particle_object.c
M source/blender/editors/render/render_shading.c
M source/blender/editors/render/render_update.c
M source/blender/editors/screen/screen_context.c
M source/blender/editors/screen/screen_edit.c
M source/blender/editors/screen/screen_ops.c
M source/blender/editors/screen/workspace_edit.c
M source/blender/editors/sculpt_paint/paint_curve.c
M source/blender/editors/sculpt_paint/paint_hide.c
M source/blender/editors/sculpt_paint/paint_image.c
M source/blender/editors/sculpt_paint/paint_image_proj.c
M source/blender/editors/sculpt_paint/paint_ops.c
M source/blender/editors/sculpt_paint/paint_utils.c
M source/blender/editors/sculpt_paint/paint_vertex.c
M source/blender/editors/sculpt_paint/paint_vertex_color_ops.c
M source/blender/editors/sculpt_paint/paint_vertex_weight_ops.c
M source/blender/editors/sculpt_paint/sculpt.c
M source/blender/editors/sculpt_paint/sculpt_intern.h
M source/blender/editors/sculpt_paint/sculpt_undo.c
M source/blender/editors/space_buttons/buttons_context.c
M source/blender/editors/space_image/image_edit.c
M source/blender/editors/space_image/image_ops.c
M source/blender/editors/space_image/space_image.c
M source/blender/editors/space_info/info_stats.c
M source/blender/editors/space_outliner/outliner_draw.c
M source/blender/editors/space_outliner/outliner_edit.c
M source/blender/editors/space_outliner/outliner_intern.h
M source/blender/editors/space_outliner/outliner_select.c
M source/blender/editors/space_outliner/outliner_tree.c
M source/blender/editors/space_time/space_time.c
M source/blender/editors/space_view3d/drawarmature.c
M source/blender/editors/space_view3d/drawmesh.c
M source/blender/editors/space_view3d/drawobject.c
M source/blender/editors/space_view3d/space_view3d.c
M source/blender/editors/space_view3d/view3d_buttons.c
M source/blender/editors/space_view3d/view3d_draw.c
M source/blender/editors/space_view3d/view3d_draw_legacy.c
M source/blender/editors/space_view3d/view3d_edit.c
M source/blender/editors/space_view3d/view3d_header.c
M source/blender/editors/space_view3d/view3d_intern.h
M source/blender/editors/space_view3d/view3d_select.c
M source/blender/editors/space_view3d/view3d_snap.c
M source/blender/editors/transform/transform.c
M source/blender/editors/transform/transform.h
M source/blender/editors/transform/transform_conversions.c
M source/blender/editors/transform/transform_generics.c
M source/blender/editors/transform/transform_manipulator.c
M source/blender/editors/transform/transform_orientations.c
M source/blender/editors/transform/transform_snap.c
M source/blender/editors/transform/transform_snap_object.c
M source/blender/editors/util/ed_util.c
M source/blender/editors/util/undo.c
M source/blender/editors/uvedit/uvedit_draw.c
M source/blender/gpu/GPU_draw.h
M source/blender/gpu/intern/gpu_draw.c
M source/blender/makesdna/DNA_object_types.h
M source/blender/makesdna/DNA_workspace_types.h
M source/blender/makesrna/intern/rna_brush.c
M source/blender/makesrna/intern/rna_object.c
M source/blender/makesrna/intern/rna_object_api.c
M source/blender/makesrna/intern/rna_object_force.c
M source/blender/makesrna/intern/rna_scene.c
M source/blender/makesrna/intern/rna_scene_api.c
M source/blender/makesrna/intern/rna_space.c
M source/blender/makesrna/intern/rna_texture.c
M source/blender/makesrna/intern/rna_userdef.c
M source/blender/makesrna/intern/rna_wm.c
M source/blender/makesrna/intern/rna_workspace.c
M source/blender/modifiers/intern/MOD_multires.c
M source/blender/modifiers/intern/MOD_shrinkwrap.c
M source/blender/modifiers/intern/MOD_subsurf.c
M source/blender/nodes/texture/node_texture_tree.c
M source/blender/render/intern/source/convertblender.c
M source/blender/windowmanager/intern/wm_event_system.c
M source/blenderplayer/bad_level_call_stubs/stubs.c
===================================================================
diff --git a/release/scripts/startup/bl_operators/view3d.py b/release/scripts/startup/bl_operators/view3d.py
index 18f91110053..e54ead6a5fc 100644
--- a/release/scripts/startup/bl_operators/view3d.py
+++ b/release/scripts/startup/bl_operators/view3d.py
@@ -30,8 +30,9 @@ class VIEW3D_OT_edit_mesh_extrude_individual_move(Operator):
@classmethod
def poll(cls, context):
+ workspace = context.workspace
obj = context.active_object
- return (obj is not None and obj.mode == 'EDIT')
+ return (obj is not None and workspace.object_mode == 'EDIT')
def execute(self, context):
mesh = context.object.data
@@ -68,8 +69,9 @@ class VIEW3D_OT_edit_mesh_extrude_move(Operator):
@classmethod
def poll(cls, context):
+ workspace = context.workspace
obj = context.active_object
- return (obj is not None and obj.mode == 'EDIT')
+ return (obj is not None and workspace.object_mode == 'EDIT')
@staticmethod
def extrude_region(context, use_vert_normals):
@@ -117,8 +119,9 @@ class VIEW3D_OT_edit_mesh_extrude_shrink_fatten(Operator):
@classmethod
def poll(cls, context):
+ workspace = context.workspace
obj = context.active_object
- return (obj is not None and obj.mode == 'EDIT')
+ return (obj is not None and workspace.object_mode == 'EDIT')
def execute(self, context):
return VIEW3D_OT_edit_mesh_extrude_move.extrude_region(context, True)
@@ -173,7 +176,8 @@ class VIEW3D_OT_select_or_deselect_all(Operator):
def poll(cls, context):
active_object = context.active_object
if active_object:
- return active_object.mode in {'EDIT', 'OBJECT', 'POSE'}
+ workspace = context.workspace
+ return workspace.object_mode in {'EDIT', 'OBJECT', 'POSE'}
return True
def invoke(self, context, event):
@@ -184,7 +188,9 @@ class VIEW3D_OT_select_or_deselect_all(Operator):
active_object = context.active_object
if active_object:
- if active_object.mode == 'EDIT':
+ workspace = context.workspace
+ object_mode = workspace.object_mode
+ if object_mode == 'EDIT':
if active_object.type == 'MESH':
bpy.ops.mesh.select_all(action='DESELECT')
elif active_object.type == 'CURVE':
@@ -197,9 +203,9 @@ class VIEW3D_OT_select_or_deselect_all(Operator):
bpy.ops.mball.select_all(action='DESELECT')
elif active_object.type == 'ARMATURE':
bpy.ops.armature.select_all(action='DESELECT')
- elif active_object.mode == 'POSE':
+ elif object_mode == 'POSE':
bpy.ops.pose.select_all(action='DESELECT')
- elif active_object.mode == 'PARTICLE_EDIT':
+ elif object_mode == 'PARTICLE_EDIT':
bpy.ops.particle.select_all(action='DESELECT')
else:
bpy.ops.object.select_all(action='DESELECT')
diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py
index 9f927fe3368..3651b92d3dc 100644
--- a/release/scripts/startup/bl_ui/properties_data_mesh.py
+++ b/release/scripts/startup/bl_ui/properties_data_mesh.py
@@ -94,10 +94,13 @@ class MESH_UL_shape_keys(UIList):
# key = data
key_block = item
if self.layout_type in {'DEFAULT', 'COMPACT'}:
+ workspace = context.workspace
split = layout.split(0.66, False)
split.prop(key_block, "name", text="", emboss=False, icon_value=icon)
row = split.row(align=True)
- if key_block.mute or (obj.mode == 'EDIT' and not (obj.use_shape_key_edit_mode and obj.type == 'MESH')):
+ if (key_block.mute or
+ (workspace.object_mode == 'EDIT' and not (obj.use_shape_key_edit_mode and obj.type == 'MESH'))
+ ):
row.active = False
if not item.id_data.use_relative:
row.prop(key_block, "frame", text="", emboss=False)
@@ -205,6 +208,7 @@ class DATA_PT_vertex_groups(MeshButtonsPanel, Panel):
def draw(self, context):
layout = self.layout
+ workspace = context.workspace
ob = context.object
group = ob.vertex_groups.active
@@ -225,7 +229,7 @@ class DATA_PT_vertex_groups(MeshButtonsPanel, Panel):
col.operator("object.vertex_group_move", icon='TRIA_UP', text="").direction = 'UP'
col.operator("object.vertex_group_move", icon='TRIA_DOWN', text="").direction = 'DOWN'
- if ob.vertex_groups and (ob.mode == 'EDIT' or (ob.mode == 'WEIGHT_PAINT' and ob.type == 'MESH' and ob.data.use_paint_mask_vertex)):
+ if ob.vertex_groups and (workspace.object_mode == 'EDIT' or (ob.mode == 'WEIGHT_PAINT' and ob.type == 'MESH' and ob.data.use_paint_mask_vertex)):
row = layout.row()
sub = row.row(align=True)
@@ -251,6 +255,7 @@ class DATA_PT_face_maps(MeshButtonsPanel, Panel):
def draw(self, context):
layout = self.layout
+ workspace = context.workspace
ob = context.object
facemap = ob.face_maps.active
@@ -269,7 +274,7 @@ class DATA_PT_face_maps(MeshButtonsPanel, Panel):
col.operator("object.face_map_move", icon='TRIA_UP', text="").direction = 'UP'
col.operator("object.face_map_move", icon='TRIA_DOWN', text="").direction = 'DOWN'
- if ob.face_maps and (ob.mode == 'EDIT' and ob.type == 'MESH'):
+ if ob.face_maps and (workspace.object_mode == 'EDIT' and ob.type == 'MESH'):
row = layout.row()
sub = row.row(align=True)
@@ -293,11 +298,12 @@ class DATA_PT_shape_keys(MeshButtonsPanel, Panel):
def draw(self, context):
layout = self.layout
+ workspace = context.workspace
ob = context.object
key = ob.data.shape_keys
kb = ob.active_shape_key
- enable_edit = ob.mode != 'EDIT'
+ enable_edit = workspace.object_mode != 'EDIT'
enable_edit_value = False
if ob.show_only_shape_key is False:
@@ -419,6 +425,7 @@ class DATA_PT_customdata(MeshButtonsPanel, Panel):
def draw(self, context):
layout = self.layout
+ workspace = context.workspace
obj = context.object
me = context.mesh
col = layout.column()
@@ -433,7 +440,7 @@ class DATA_PT_customdata(MeshButtonsPanel, Panel):
col = layout.column()
- col.enabled = (obj.mode != 'EDIT')
+ col.enabled = (workspace.object_mode != 'EDIT')
col.prop(me, "use_customdata_vertex_bevel")
col.prop(me, "use_customdata_edge_bevel")
col.prop(me, "use_customdata_edge_crease")
diff --git a/release/scripts/startup/bl_ui/properties_material.py b/release/scripts/startup/bl_ui/properties_material.py
index 9aed338bad4..2dc7bffa527 100644
--- a/release/scripts/startup/bl_ui/properties_material.py
+++ b/release/scripts/startup/bl_ui/properties_material.py
@@ -148,7 +148,7 @@ class MATERIAL_PT_context_material(MaterialButtonsPanel, Panel):
col.operator("object.material_slot_move", icon='TRIA_UP', text="").direction = 'UP'
col.operator("object.material_slot_move", icon='TRIA_DOWN', text="").direction = 'DOWN'
- if ob.mode == 'EDIT':
+ if context.workspace.object_mode == 'EDIT':
row = layout.row(align=True)
row.operator("object.material_slot_assign", text="Assign")
row.operator("object.material_slot_select", text="Select")
@@ -1094,7 +1094,7 @@ class EEVEE_MATERIAL_PT_context_material(MaterialButtonsPanel, Panel):
col.operator("object.material_slot_move", icon='TRIA_UP', text="").direction = 'UP'
col.operator("object.material_slot_move", icon='TRIA_DOWN', text="").direction = 'DOWN'
- if ob.mode == 'EDIT':
+ if context.workspace.object_mode == 'EDIT':
row = layout.row(align=True)
row.operator("object.material_slot_assign", text="Assign")
row.operator("object.material_slot_select", text="Select")
diff --git a/release/scripts/startup/bl_ui/space_info.py b/release/scripts/startup/bl_ui/space_info.py
index f032f6a899b..8c69e733a2d 100644
--- a/release/scripts/startup/bl_ui/space_info.py
+++ b/release/scripts/startup/bl_ui/space_info.py
@@ -48,10 +48,7 @@ class INFO_HT_header(Header):
layout.template_ID(window, "workspace", new="workspace.workspace_add_menu", unlink="workspace.workspace_delete")
layout.template_search_preview(window, "screen", workspace, "screens", new="screen.new", unlink="screen.delete", rows=2, cols=6)
- if hasattr(window, 'object_mode'):
- act_mode_item = bpy.types.Object.bl_rna.properties['mode'].enum_items[window.object_mode]
- else:
- act_mode_item = bpy.types.Object.bl_rna.properties['mode'].enum_items[layer.objects.active.mode]
+ act_mode_item = bpy.types.WorkSpace.bl_rna.properties['object_mode'].enum_items[workspace.object_mode]
layout.operator_menu_enum("object.mode_set", "mode", text=act_mode_item.name, icon=act_mode_item.icon)
row = layout.row()
@@ -87,7 +84,7 @@ class INFO_HT_header(Header):
return
row.operator("wm.splash", text="", icon='BLENDER', emboss=False)
- row.label(text=scene.statistics(context.view_layer), translate=False)
+ row.label(text=scene.statistics(workspace, context.view_layer), translate=False)
class INFO_MT_editor_menus(Menu):
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 9fd620eec76..9c16236e39b 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -48,7 +48,7 @@ class VIEW3D_HT_header(Header):
layout.template_header_3D()
if obj:
- mode = obj.mode
+ mode = context.workspace.object_m
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list