[Bf-blender-cvs] [8778dd0c8b4] master: Gizmo: activate some gizmos on drag instead of press

Campbell Barton noreply at git.blender.org
Thu May 30 07:29:47 CEST 2019


Commit: 8778dd0c8b461780fdf9de688047d1a9c24dd641
Author: Campbell Barton
Date:   Thu May 30 15:20:20 2019 +1000
Branches: master
https://developer.blender.org/rB8778dd0c8b461780fdf9de688047d1a9c24dd641

Gizmo: activate some gizmos on drag instead of press

Use drag-only keyamp to adjust gizmos which use drag motion
to change a value. By default gizmos still activate on press.

This allows for left click select to be used with transform
without the gizmos getting in the way.

Even though this isn't necessary for right click select
it allows click events to pass through and be used by tools
which can be useful.

Resolves T63996

===================================================================

M	source/blender/editors/gizmo_library/gizmo_group_types/value2d_gizmo_group.c
M	source/blender/editors/space_image/space_image.c
M	source/blender/editors/space_node/node_gizmo.c
M	source/blender/editors/space_view3d/view3d_gizmo_armature.c
M	source/blender/editors/space_view3d/view3d_gizmo_camera.c
M	source/blender/editors/space_view3d/view3d_gizmo_empty.c
M	source/blender/editors/space_view3d/view3d_gizmo_forcefield.c
M	source/blender/editors/space_view3d/view3d_gizmo_light.c
M	source/blender/editors/transform/transform_gizmo_3d.c
M	source/blender/editors/transform/transform_gizmo_extrude_3d.c

===================================================================

diff --git a/source/blender/editors/gizmo_library/gizmo_group_types/value2d_gizmo_group.c b/source/blender/editors/gizmo_library/gizmo_group_types/value2d_gizmo_group.c
index 3b61aed5e27..2749eab0548 100644
--- a/source/blender/editors/gizmo_library/gizmo_group_types/value2d_gizmo_group.c
+++ b/source/blender/editors/gizmo_library/gizmo_group_types/value2d_gizmo_group.c
@@ -152,6 +152,7 @@ static void WM_GGT_value_operator_redo(wmGizmoGroupType *gzgt)
   gzgt->gzmap_params.regionid = RGN_TYPE_WINDOW;
 
   gzgt->setup = WIDGETGROUP_value_operator_redo_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->refresh = WIDGETGROUP_value_operator_redo_refresh;
 }
 
diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c
index 73baf1540f7..539c9c09389 100644
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@ -461,6 +461,7 @@ static void IMAGE_GGT_gizmo2d(wmGizmoGroupType *gzgt)
 
   gzgt->poll = ED_widgetgroup_gizmo2d_poll;
   gzgt->setup = ED_widgetgroup_gizmo2d_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->refresh = ED_widgetgroup_gizmo2d_refresh;
   gzgt->draw_prepare = ED_widgetgroup_gizmo2d_draw_prepare;
 }
diff --git a/source/blender/editors/space_node/node_gizmo.c b/source/blender/editors/space_node/node_gizmo.c
index dbbef222250..4a929a660d9 100644
--- a/source/blender/editors/space_node/node_gizmo.c
+++ b/source/blender/editors/space_node/node_gizmo.c
@@ -190,6 +190,7 @@ void NODE_GGT_backdrop_transform(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_node_transform_poll;
   gzgt->setup = WIDGETGROUP_node_transform_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->refresh = WIDGETGROUP_node_transform_refresh;
 }
 
@@ -410,6 +411,7 @@ void NODE_GGT_backdrop_crop(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_node_crop_poll;
   gzgt->setup = WIDGETGROUP_node_crop_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->draw_prepare = WIDGETGROUP_node_crop_draw_prepare;
   gzgt->refresh = WIDGETGROUP_node_crop_refresh;
 }
@@ -514,6 +516,7 @@ void NODE_GGT_backdrop_sun_beams(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_node_sbeam_poll;
   gzgt->setup = WIDGETGROUP_node_sbeam_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->draw_prepare = WIDGETGROUP_node_sbeam_draw_prepare;
   gzgt->refresh = WIDGETGROUP_node_sbeam_refresh;
 }
@@ -634,6 +637,7 @@ void NODE_GGT_backdrop_corner_pin(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_node_corner_pin_poll;
   gzgt->setup = WIDGETGROUP_node_corner_pin_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->draw_prepare = WIDGETGROUP_node_corner_pin_draw_prepare;
   gzgt->refresh = WIDGETGROUP_node_corner_pin_refresh;
 }
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_armature.c b/source/blender/editors/space_view3d/view3d_gizmo_armature.c
index 3ea127b364f..b24b678cb7a 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_armature.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_armature.c
@@ -220,6 +220,7 @@ void VIEW3D_GGT_armature_spline(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_armature_spline_poll;
   gzgt->setup = WIDGETGROUP_armature_spline_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->refresh = WIDGETGROUP_armature_spline_refresh;
 }
 
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_camera.c b/source/blender/editors/space_view3d/view3d_gizmo_camera.c
index 5fe62a74d4b..11a8988f83b 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_camera.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_camera.c
@@ -315,6 +315,7 @@ void VIEW3D_GGT_camera(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_camera_poll;
   gzgt->setup = WIDGETGROUP_camera_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->refresh = WIDGETGROUP_camera_refresh;
   gzgt->message_subscribe = WIDGETGROUP_camera_message_subscribe;
 }
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_empty.c b/source/blender/editors/space_view3d/view3d_gizmo_empty.c
index 6a3979ae458..a54d59b961f 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_empty.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_empty.c
@@ -200,6 +200,7 @@ void VIEW3D_GGT_empty_image(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_empty_image_poll;
   gzgt->setup = WIDGETGROUP_empty_image_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->refresh = WIDGETGROUP_empty_image_refresh;
 }
 
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_forcefield.c b/source/blender/editors/space_view3d/view3d_gizmo_forcefield.c
index 7d3e22b4d70..1c7c0284fe3 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_forcefield.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_forcefield.c
@@ -117,6 +117,7 @@ void VIEW3D_GGT_force_field(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_forcefield_poll;
   gzgt->setup = WIDGETGROUP_forcefield_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->refresh = WIDGETGROUP_forcefield_refresh;
 }
 
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_light.c b/source/blender/editors/space_view3d/view3d_gizmo_light.c
index 8c6f783de61..0338fe5bead 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_light.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_light.c
@@ -114,6 +114,7 @@ void VIEW3D_GGT_light_spot(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_light_spot_poll;
   gzgt->setup = WIDGETGROUP_light_spot_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->refresh = WIDGETGROUP_light_spot_refresh;
 }
 
@@ -230,6 +231,7 @@ void VIEW3D_GGT_light_area(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_light_area_poll;
   gzgt->setup = WIDGETGROUP_light_area_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->refresh = WIDGETGROUP_light_area_refresh;
 }
 
@@ -317,6 +319,7 @@ void VIEW3D_GGT_light_target(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_light_target_poll;
   gzgt->setup = WIDGETGROUP_light_target_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->draw_prepare = WIDGETGROUP_light_target_draw_prepare;
 }
 
diff --git a/source/blender/editors/transform/transform_gizmo_3d.c b/source/blender/editors/transform/transform_gizmo_3d.c
index bf2e369d78d..eef57824d7a 100644
--- a/source/blender/editors/transform/transform_gizmo_3d.c
+++ b/source/blender/editors/transform/transform_gizmo_3d.c
@@ -1993,6 +1993,7 @@ void VIEW3D_GGT_xform_gizmo(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_gizmo_poll_tool;
   gzgt->setup = WIDGETGROUP_gizmo_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->refresh = WIDGETGROUP_gizmo_refresh;
   gzgt->message_subscribe = WIDGETGROUP_gizmo_message_subscribe;
   gzgt->draw_prepare = WIDGETGROUP_gizmo_draw_prepare;
@@ -2023,6 +2024,7 @@ void VIEW3D_GGT_xform_gizmo_context(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_gizmo_poll_context;
   gzgt->setup = WIDGETGROUP_gizmo_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->refresh = WIDGETGROUP_gizmo_refresh;
   gzgt->message_subscribe = WIDGETGROUP_gizmo_message_subscribe;
   gzgt->draw_prepare = WIDGETGROUP_gizmo_draw_prepare;
@@ -2226,6 +2228,7 @@ void VIEW3D_GGT_xform_cage(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_xform_cage_poll;
   gzgt->setup = WIDGETGROUP_xform_cage_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->refresh = WIDGETGROUP_xform_cage_refresh;
   gzgt->message_subscribe = WIDGETGROUP_xform_cage_message_subscribe;
   gzgt->draw_prepare = WIDGETGROUP_xform_cage_draw_prepare;
@@ -2409,6 +2412,7 @@ void VIEW3D_GGT_xform_shear(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_xform_shear_poll;
   gzgt->setup = WIDGETGROUP_xform_shear_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->refresh = WIDGETGROUP_xform_shear_refresh;
   gzgt->message_subscribe = WIDGETGROUP_xform_shear_message_subscribe;
   gzgt->draw_prepare = WIDGETGROUP_xform_shear_draw_prepare;
diff --git a/source/blender/editors/transform/transform_gizmo_extrude_3d.c b/source/blender/editors/transform/transform_gizmo_extrude_3d.c
index 24ef92b3153..9e8258bffb1 100644
--- a/source/blender/editors/transform/transform_gizmo_extrude_3d.c
+++ b/source/blender/editors/transform/transform_gizmo_extrude_3d.c
@@ -463,6 +463,7 @@ void VIEW3D_GGT_xform_extrude(struct wmGizmoGroupType *gzgt)
 
   gzgt->poll = ED_gizmo_poll_or_unlink_delayed_from_tool;
   gzgt->setup = gizmo_mesh_extrude_setup;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
   gzgt->refresh = gizmo_mesh_extrude_refresh;
   gzgt->draw_prepare = gizmo_mesh_extrude_draw_prepare;
   gzgt->invoke_prepare = gizmo_mesh_extrude_invoke_prepare;



More information about the Bf-blender-cvs mailing list