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
This commit is contained in:
@@ -152,6 +152,7 @@ static void WM_GGT_value_operator_redo(wmGizmoGroupType *gzgt)
|
|||||||
gzgt->gzmap_params.regionid = RGN_TYPE_WINDOW;
|
gzgt->gzmap_params.regionid = RGN_TYPE_WINDOW;
|
||||||
|
|
||||||
gzgt->setup = WIDGETGROUP_value_operator_redo_setup;
|
gzgt->setup = WIDGETGROUP_value_operator_redo_setup;
|
||||||
|
gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
|
||||||
gzgt->refresh = WIDGETGROUP_value_operator_redo_refresh;
|
gzgt->refresh = WIDGETGROUP_value_operator_redo_refresh;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -461,6 +461,7 @@ static void IMAGE_GGT_gizmo2d(wmGizmoGroupType *gzgt)
|
|||||||
|
|
||||||
gzgt->poll = ED_widgetgroup_gizmo2d_poll;
|
gzgt->poll = ED_widgetgroup_gizmo2d_poll;
|
||||||
gzgt->setup = ED_widgetgroup_gizmo2d_setup;
|
gzgt->setup = ED_widgetgroup_gizmo2d_setup;
|
||||||
|
gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
|
||||||
gzgt->refresh = ED_widgetgroup_gizmo2d_refresh;
|
gzgt->refresh = ED_widgetgroup_gizmo2d_refresh;
|
||||||
gzgt->draw_prepare = ED_widgetgroup_gizmo2d_draw_prepare;
|
gzgt->draw_prepare = ED_widgetgroup_gizmo2d_draw_prepare;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -190,6 +190,7 @@ void NODE_GGT_backdrop_transform(wmGizmoGroupType *gzgt)
|
|||||||
|
|
||||||
gzgt->poll = WIDGETGROUP_node_transform_poll;
|
gzgt->poll = WIDGETGROUP_node_transform_poll;
|
||||||
gzgt->setup = WIDGETGROUP_node_transform_setup;
|
gzgt->setup = WIDGETGROUP_node_transform_setup;
|
||||||
|
gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
|
||||||
gzgt->refresh = WIDGETGROUP_node_transform_refresh;
|
gzgt->refresh = WIDGETGROUP_node_transform_refresh;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -410,6 +411,7 @@ void NODE_GGT_backdrop_crop(wmGizmoGroupType *gzgt)
|
|||||||
|
|
||||||
gzgt->poll = WIDGETGROUP_node_crop_poll;
|
gzgt->poll = WIDGETGROUP_node_crop_poll;
|
||||||
gzgt->setup = WIDGETGROUP_node_crop_setup;
|
gzgt->setup = WIDGETGROUP_node_crop_setup;
|
||||||
|
gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
|
||||||
gzgt->draw_prepare = WIDGETGROUP_node_crop_draw_prepare;
|
gzgt->draw_prepare = WIDGETGROUP_node_crop_draw_prepare;
|
||||||
gzgt->refresh = WIDGETGROUP_node_crop_refresh;
|
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->poll = WIDGETGROUP_node_sbeam_poll;
|
||||||
gzgt->setup = WIDGETGROUP_node_sbeam_setup;
|
gzgt->setup = WIDGETGROUP_node_sbeam_setup;
|
||||||
|
gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
|
||||||
gzgt->draw_prepare = WIDGETGROUP_node_sbeam_draw_prepare;
|
gzgt->draw_prepare = WIDGETGROUP_node_sbeam_draw_prepare;
|
||||||
gzgt->refresh = WIDGETGROUP_node_sbeam_refresh;
|
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->poll = WIDGETGROUP_node_corner_pin_poll;
|
||||||
gzgt->setup = WIDGETGROUP_node_corner_pin_setup;
|
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->draw_prepare = WIDGETGROUP_node_corner_pin_draw_prepare;
|
||||||
gzgt->refresh = WIDGETGROUP_node_corner_pin_refresh;
|
gzgt->refresh = WIDGETGROUP_node_corner_pin_refresh;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -220,6 +220,7 @@ void VIEW3D_GGT_armature_spline(wmGizmoGroupType *gzgt)
|
|||||||
|
|
||||||
gzgt->poll = WIDGETGROUP_armature_spline_poll;
|
gzgt->poll = WIDGETGROUP_armature_spline_poll;
|
||||||
gzgt->setup = WIDGETGROUP_armature_spline_setup;
|
gzgt->setup = WIDGETGROUP_armature_spline_setup;
|
||||||
|
gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
|
||||||
gzgt->refresh = WIDGETGROUP_armature_spline_refresh;
|
gzgt->refresh = WIDGETGROUP_armature_spline_refresh;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -315,6 +315,7 @@ void VIEW3D_GGT_camera(wmGizmoGroupType *gzgt)
|
|||||||
|
|
||||||
gzgt->poll = WIDGETGROUP_camera_poll;
|
gzgt->poll = WIDGETGROUP_camera_poll;
|
||||||
gzgt->setup = WIDGETGROUP_camera_setup;
|
gzgt->setup = WIDGETGROUP_camera_setup;
|
||||||
|
gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
|
||||||
gzgt->refresh = WIDGETGROUP_camera_refresh;
|
gzgt->refresh = WIDGETGROUP_camera_refresh;
|
||||||
gzgt->message_subscribe = WIDGETGROUP_camera_message_subscribe;
|
gzgt->message_subscribe = WIDGETGROUP_camera_message_subscribe;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -200,6 +200,7 @@ void VIEW3D_GGT_empty_image(wmGizmoGroupType *gzgt)
|
|||||||
|
|
||||||
gzgt->poll = WIDGETGROUP_empty_image_poll;
|
gzgt->poll = WIDGETGROUP_empty_image_poll;
|
||||||
gzgt->setup = WIDGETGROUP_empty_image_setup;
|
gzgt->setup = WIDGETGROUP_empty_image_setup;
|
||||||
|
gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
|
||||||
gzgt->refresh = WIDGETGROUP_empty_image_refresh;
|
gzgt->refresh = WIDGETGROUP_empty_image_refresh;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -117,6 +117,7 @@ void VIEW3D_GGT_force_field(wmGizmoGroupType *gzgt)
|
|||||||
|
|
||||||
gzgt->poll = WIDGETGROUP_forcefield_poll;
|
gzgt->poll = WIDGETGROUP_forcefield_poll;
|
||||||
gzgt->setup = WIDGETGROUP_forcefield_setup;
|
gzgt->setup = WIDGETGROUP_forcefield_setup;
|
||||||
|
gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
|
||||||
gzgt->refresh = WIDGETGROUP_forcefield_refresh;
|
gzgt->refresh = WIDGETGROUP_forcefield_refresh;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ void VIEW3D_GGT_light_spot(wmGizmoGroupType *gzgt)
|
|||||||
|
|
||||||
gzgt->poll = WIDGETGROUP_light_spot_poll;
|
gzgt->poll = WIDGETGROUP_light_spot_poll;
|
||||||
gzgt->setup = WIDGETGROUP_light_spot_setup;
|
gzgt->setup = WIDGETGROUP_light_spot_setup;
|
||||||
|
gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
|
||||||
gzgt->refresh = WIDGETGROUP_light_spot_refresh;
|
gzgt->refresh = WIDGETGROUP_light_spot_refresh;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -230,6 +231,7 @@ void VIEW3D_GGT_light_area(wmGizmoGroupType *gzgt)
|
|||||||
|
|
||||||
gzgt->poll = WIDGETGROUP_light_area_poll;
|
gzgt->poll = WIDGETGROUP_light_area_poll;
|
||||||
gzgt->setup = WIDGETGROUP_light_area_setup;
|
gzgt->setup = WIDGETGROUP_light_area_setup;
|
||||||
|
gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
|
||||||
gzgt->refresh = WIDGETGROUP_light_area_refresh;
|
gzgt->refresh = WIDGETGROUP_light_area_refresh;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -317,6 +319,7 @@ void VIEW3D_GGT_light_target(wmGizmoGroupType *gzgt)
|
|||||||
|
|
||||||
gzgt->poll = WIDGETGROUP_light_target_poll;
|
gzgt->poll = WIDGETGROUP_light_target_poll;
|
||||||
gzgt->setup = WIDGETGROUP_light_target_setup;
|
gzgt->setup = WIDGETGROUP_light_target_setup;
|
||||||
|
gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
|
||||||
gzgt->draw_prepare = WIDGETGROUP_light_target_draw_prepare;
|
gzgt->draw_prepare = WIDGETGROUP_light_target_draw_prepare;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1993,6 +1993,7 @@ void VIEW3D_GGT_xform_gizmo(wmGizmoGroupType *gzgt)
|
|||||||
|
|
||||||
gzgt->poll = WIDGETGROUP_gizmo_poll_tool;
|
gzgt->poll = WIDGETGROUP_gizmo_poll_tool;
|
||||||
gzgt->setup = WIDGETGROUP_gizmo_setup;
|
gzgt->setup = WIDGETGROUP_gizmo_setup;
|
||||||
|
gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
|
||||||
gzgt->refresh = WIDGETGROUP_gizmo_refresh;
|
gzgt->refresh = WIDGETGROUP_gizmo_refresh;
|
||||||
gzgt->message_subscribe = WIDGETGROUP_gizmo_message_subscribe;
|
gzgt->message_subscribe = WIDGETGROUP_gizmo_message_subscribe;
|
||||||
gzgt->draw_prepare = WIDGETGROUP_gizmo_draw_prepare;
|
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->poll = WIDGETGROUP_gizmo_poll_context;
|
||||||
gzgt->setup = WIDGETGROUP_gizmo_setup;
|
gzgt->setup = WIDGETGROUP_gizmo_setup;
|
||||||
|
gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
|
||||||
gzgt->refresh = WIDGETGROUP_gizmo_refresh;
|
gzgt->refresh = WIDGETGROUP_gizmo_refresh;
|
||||||
gzgt->message_subscribe = WIDGETGROUP_gizmo_message_subscribe;
|
gzgt->message_subscribe = WIDGETGROUP_gizmo_message_subscribe;
|
||||||
gzgt->draw_prepare = WIDGETGROUP_gizmo_draw_prepare;
|
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->poll = WIDGETGROUP_xform_cage_poll;
|
||||||
gzgt->setup = WIDGETGROUP_xform_cage_setup;
|
gzgt->setup = WIDGETGROUP_xform_cage_setup;
|
||||||
|
gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
|
||||||
gzgt->refresh = WIDGETGROUP_xform_cage_refresh;
|
gzgt->refresh = WIDGETGROUP_xform_cage_refresh;
|
||||||
gzgt->message_subscribe = WIDGETGROUP_xform_cage_message_subscribe;
|
gzgt->message_subscribe = WIDGETGROUP_xform_cage_message_subscribe;
|
||||||
gzgt->draw_prepare = WIDGETGROUP_xform_cage_draw_prepare;
|
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->poll = WIDGETGROUP_xform_shear_poll;
|
||||||
gzgt->setup = WIDGETGROUP_xform_shear_setup;
|
gzgt->setup = WIDGETGROUP_xform_shear_setup;
|
||||||
|
gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
|
||||||
gzgt->refresh = WIDGETGROUP_xform_shear_refresh;
|
gzgt->refresh = WIDGETGROUP_xform_shear_refresh;
|
||||||
gzgt->message_subscribe = WIDGETGROUP_xform_shear_message_subscribe;
|
gzgt->message_subscribe = WIDGETGROUP_xform_shear_message_subscribe;
|
||||||
gzgt->draw_prepare = WIDGETGROUP_xform_shear_draw_prepare;
|
gzgt->draw_prepare = WIDGETGROUP_xform_shear_draw_prepare;
|
||||||
|
|||||||
@@ -463,6 +463,7 @@ void VIEW3D_GGT_xform_extrude(struct wmGizmoGroupType *gzgt)
|
|||||||
|
|
||||||
gzgt->poll = ED_gizmo_poll_or_unlink_delayed_from_tool;
|
gzgt->poll = ED_gizmo_poll_or_unlink_delayed_from_tool;
|
||||||
gzgt->setup = gizmo_mesh_extrude_setup;
|
gzgt->setup = gizmo_mesh_extrude_setup;
|
||||||
|
gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
|
||||||
gzgt->refresh = gizmo_mesh_extrude_refresh;
|
gzgt->refresh = gizmo_mesh_extrude_refresh;
|
||||||
gzgt->draw_prepare = gizmo_mesh_extrude_draw_prepare;
|
gzgt->draw_prepare = gizmo_mesh_extrude_draw_prepare;
|
||||||
gzgt->invoke_prepare = gizmo_mesh_extrude_invoke_prepare;
|
gzgt->invoke_prepare = gizmo_mesh_extrude_invoke_prepare;
|
||||||
|
|||||||
Reference in New Issue
Block a user