Tool System: per space/mode tool support
authorCampbell Barton <ideasman42@gmail.com>
Wed, 16 May 2018 16:41:11 +0000 (18:41 +0200)
committerCampbell Barton <ideasman42@gmail.com>
Thu, 17 May 2018 13:57:33 +0000 (15:57 +0200)
commitedf6676a77b30290918e60547544bc1a6f7a8838
tree26012f315c75686553e6be87b73ad270b98eb01a
parent20cc14e2b7551bb043472174b8be79d8aaa4df3d
Tool System: per space/mode tool support

This patch adds support for:

- Per space-type tools (3D view and edit).
- Per mode tools (object, edit, weight-paint .. etc).

The top-bar shows the last activated tools options, this is a design
issue with using a global topbar to show per-space settings.

See D3395
29 files changed:
release/scripts/startup/bl_operators/wm.py
release/scripts/startup/bl_ui/space_toolsystem_common.py
release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
source/blender/blenkernel/intern/workspace.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/writefile.c
source/blender/editors/mesh/editmesh_extrude.c
source/blender/editors/object/object_edit.c
source/blender/editors/physics/particle_edit.c
source/blender/editors/screen/workspace_edit.c
source/blender/editors/sculpt_paint/paint_image.c
source/blender/editors/sculpt_paint/paint_vertex.c
source/blender/editors/sculpt_paint/sculpt.c
source/blender/editors/space_topbar/space_topbar.c
source/blender/editors/space_view3d/space_view3d.c
source/blender/editors/space_view3d/view3d_manipulator_ruler.c
source/blender/editors/transform/transform_manipulator_3d.c
source/blender/makesdna/DNA_workspace_types.h
source/blender/makesrna/RNA_enum_types.h
source/blender/makesrna/intern/CMakeLists.txt
source/blender/makesrna/intern/makesrna.c
source/blender/makesrna/intern/rna_internal.h
source/blender/makesrna/intern/rna_space.c
source/blender/makesrna/intern/rna_workspace.c
source/blender/makesrna/intern/rna_workspace_api.c [new file with mode: 0644]
source/blender/windowmanager/WM_api.h
source/blender/windowmanager/intern/wm_event_system.c
source/blender/windowmanager/intern/wm_operators.c
source/blender/windowmanager/intern/wm_toolsystem.c