diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-04-27 23:48:23 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-04-27 23:49:52 +0300 |
commit | c42a47d177e97e8f799f880a2f364b0f44389a32 (patch) | |
tree | c1e7db5a7ae07f187940c99f343943e503cd7047 | |
parent | bb513b173e9bb6f1c0db6af66a548ef4883fa0f3 (diff) |
UI: add new transform tool that enables all widgets
Also add bevel tool.
11 files changed, 38 insertions, 15 deletions
diff --git a/release/datafiles/icons/ops.armature.extrude.cursor.dat b/release/datafiles/icons/ops.armature.extrude.cursor.dat Binary files differindex 9bf0881e675..71f8406dbf8 100644 --- a/release/datafiles/icons/ops.armature.extrude.cursor.dat +++ b/release/datafiles/icons/ops.armature.extrude.cursor.dat diff --git a/release/datafiles/icons/ops.mesh.bevel.dat b/release/datafiles/icons/ops.mesh.bevel.dat Binary files differnew file mode 100644 index 00000000000..90f9f2f6fb4 --- /dev/null +++ b/release/datafiles/icons/ops.mesh.bevel.dat diff --git a/release/datafiles/icons/ops.mesh.dupli_extrude_cursor.dat b/release/datafiles/icons/ops.mesh.dupli_extrude_cursor.dat Binary files differnew file mode 100644 index 00000000000..8d374d66b41 --- /dev/null +++ b/release/datafiles/icons/ops.mesh.dupli_extrude_cursor.dat diff --git a/release/datafiles/icons/ops.view3d.edit_mesh_extrude_individual.dat b/release/datafiles/icons/ops.mesh.extrude_faces_move.dat Binary files differindex 1bf3afba649..1bf3afba649 100644 --- a/release/datafiles/icons/ops.view3d.edit_mesh_extrude_individual.dat +++ b/release/datafiles/icons/ops.mesh.extrude_faces_move.dat diff --git a/release/datafiles/icons/ops.view3d.edit_mesh_extrude.dat b/release/datafiles/icons/ops.mesh.extrude_region_move.dat Binary files differindex e42cfd5f7af..e42cfd5f7af 100644 --- a/release/datafiles/icons/ops.view3d.edit_mesh_extrude.dat +++ b/release/datafiles/icons/ops.mesh.extrude_region_move.dat diff --git a/release/datafiles/icons/ops.mesh.spin.dat b/release/datafiles/icons/ops.mesh.spin.dat Binary files differindex f095592e6c2..decf3e7ccc2 100644 --- a/release/datafiles/icons/ops.mesh.spin.dat +++ b/release/datafiles/icons/ops.mesh.spin.dat diff --git a/release/datafiles/icons/ops.transform.transform.dat b/release/datafiles/icons/ops.transform.transform.dat Binary files differnew file mode 100644 index 00000000000..d8343a4bcc1 --- /dev/null +++ b/release/datafiles/icons/ops.transform.transform.dat diff --git a/release/datafiles/icons/ops.view3d.edit_mesh_extrude_cursor.dat b/release/datafiles/icons/ops.view3d.edit_mesh_extrude_cursor.dat Binary files differdeleted file mode 100644 index e16ca6d7ee7..00000000000 --- a/release/datafiles/icons/ops.view3d.edit_mesh_extrude_cursor.dat +++ /dev/null diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py index f612cb2b747..4f9a9764240 100644 --- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py +++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py @@ -55,7 +55,7 @@ class _defs_view3d_generic: class _defs_transform: class translate(ToolDef): - text = "Translate" + text = "Move" icon = "ops.transform.translate" widget = "TRANSFORM_WGT_manipulator" keymap = ( @@ -84,6 +84,13 @@ class _defs_transform: widget = "VIEW3D_WGT_xform_cage" keymap = None + class transform(ToolDef): + text = "Transform" + icon = "ops.transform.transform" + widget = "TRANSFORM_WGT_manipulator" + # No favorites, only for manipulators! + keymap = () + class _defs_view3d_select: @@ -261,9 +268,18 @@ class _defs_edit_mesh: dict(type='ACTIONMOUSE', value='PRESS')), ) + class bevel(ToolDef): + text = "Bevel" + icon = "ops.mesh.bevel" + widget = None + keymap = ( + ("mesh.bevel", dict(), + dict(type='ACTIONMOUSE', value='PRESS')), + ) + class extrude(ToolDef): text = "Extrude Region" - icon = "ops.view3d.edit_mesh_extrude" + icon = "ops.mesh.extrude_region_move" widget = None keymap = ( ("mesh.extrude_region_move", dict(TRANSFORM_OT_translate=dict(release_confirm=True)), @@ -272,13 +288,21 @@ class _defs_edit_mesh: class extrude_individual(ToolDef): text = "Extrude Individual" - icon = "ops.view3d.edit_mesh_extrude_individual" + icon = "ops.mesh.extrude_faces_move" widget = None keymap = ( ("mesh.extrude_faces_move", dict(TRANSFORM_OT_shrink_fatten=dict(release_confirm=True)), dict(type='ACTIONMOUSE', value='PRESS')), ) + class extrude_cursor(ToolDef): + text = "Extrude to Cursor" + icon = "ops.mesh.dupli_extrude_cursor" + widget = None + keymap = ( + ("mesh.dupli_extrude_cursor", dict(), dict(type='ACTIONMOUSE', value='PRESS')), + ) + class vertex_smooth(ToolDef): text = "Smooth" icon = "ops.mesh.vertices_smooth" @@ -342,14 +366,6 @@ class _defs_edit_mesh: dict(type='EVT_TWEAK_A', value='ANY')), ) - class extrude_cursor(ToolDef): - text = "Extrude to Cursor" - icon = "ops.view3d.edit_mesh_extrude_cursor" - widget = None - keymap = ( - ("mesh.dupli_extrude_cursor", dict(), dict(type='ACTIONMOUSE', value='PRESS')), - ) - class _defs_edit_curve: @@ -396,6 +412,7 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel): _defs_transform.scale, _defs_transform.scale_cage, ), + _defs_transform.transform, None, _defs_view3d_generic.ruler, ) @@ -456,6 +473,7 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel): ), _defs_edit_mesh.inset, + _defs_edit_mesh.bevel, ( _defs_edit_mesh.extrude, diff --git a/source/blender/editors/datafiles/CMakeLists.txt b/source/blender/editors/datafiles/CMakeLists.txt index 9927d25bd80..aabe756c928 100644 --- a/source/blender/editors/datafiles/CMakeLists.txt +++ b/source/blender/editors/datafiles/CMakeLists.txt @@ -540,7 +540,11 @@ set_property(GLOBAL PROPERTY ICON_GEOM_NAMES ops.gpencil.draw.eraser ops.gpencil.draw.line ops.gpencil.draw.poly + ops.mesh.bevel ops.mesh.bisect + ops.mesh.dupli_extrude_cursor + ops.mesh.extrude_faces_move + ops.mesh.extrude_region_move ops.mesh.inset ops.mesh.knife_tool ops.mesh.loopcut_slide @@ -564,12 +568,10 @@ set_property(GLOBAL PROPERTY ICON_GEOM_NAMES ops.transform.resize ops.transform.rotate ops.transform.shrink_fatten + ops.transform.transform ops.transform.translate ops.transform.vert_slide ops.transform.vertex_random - ops.view3d.edit_mesh_extrude - ops.view3d.edit_mesh_extrude_cursor - ops.view3d.edit_mesh_extrude_individual ops.view3d.ruler # END ICON_GEOM_NAMES ) diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c index d8d7573f818..eea306c7ff0 100644 --- a/source/blender/editors/transform/transform_manipulator.c +++ b/source/blender/editors/transform/transform_manipulator.c @@ -1289,7 +1289,10 @@ static void WIDGETGROUP_manipulator_setup(const bContext *C, wmManipulatorGroup /* Weak, check first event */ wmKeyMapItem *kmi = km->items.first; - if (STREQ(kmi->idname, "TRANSFORM_OT_translate")) { + if (kmi == NULL) { + man->twtype |= V3D_MANIP_TRANSLATE | V3D_MANIP_ROTATE | V3D_MANIP_SCALE; + } + else if (STREQ(kmi->idname, "TRANSFORM_OT_translate")) { man->twtype |= V3D_MANIP_TRANSLATE; } else if (STREQ(kmi->idname, "TRANSFORM_OT_rotate")) { |