[Bf-blender-cvs] [63a7ac89300] master: Keymap: add drag-only generic gizmo keymap

Campbell Barton noreply at git.blender.org
Wed May 29 06:33:46 CEST 2019


Commit: 63a7ac893009eefdecc81944e8a6bfc566035bf4
Author: Campbell Barton
Date:   Wed May 29 13:30:15 2019 +1000
Branches: master
https://developer.blender.org/rB63a7ac893009eefdecc81944e8a6bfc566035bf4

Keymap: add drag-only generic gizmo keymap

Allows gizmos clicks to fall through for gizmos which only drag,
currently unused.

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

M	release/scripts/presets/keyconfig/keymap_data/blender_default.py
M	source/blender/windowmanager/gizmo/WM_gizmo_api.h
M	source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c

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

diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index b5cc573cac4..c930fbb23c6 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -215,6 +215,12 @@ def _template_items_gizmo_tweak_value_click_drag():
     ]
 
 
+def _template_items_gizmo_tweak_value_drag():
+    return [
+        ("gizmogroup.gizmo_tweak", {"type": 'EVT_TWEAK_L', "value": 'ANY', "any": True}, None),
+    ]
+
+
 def _template_items_editmode_mesh_select_mode(params):
     if params.legacy:
         return [
@@ -4716,11 +4722,21 @@ def km_generic_gizmo(_params):
     return keymap
 
 
-def km_generic_gizmo_click_drag(_params):
+def km_generic_gizmo_drag(_params):
     keymap = (
         "Generic Gizmo Click Drag",
         {"space_type": 'EMPTY', "region_type": 'WINDOW'},
-        {"items": _template_items_gizmo_tweak_value_click_drag()},
+        {"items": _template_items_gizmo_tweak_value_drag()},
+    )
+
+    return keymap
+
+
+def km_generic_gizmo_click_drag(_params):
+    keymap = (
+        "Generic Gizmo Drag",
+        {"space_type": 'EMPTY', "region_type": 'WINDOW'},
+        {"items": _template_items_gizmo_tweak_value_drag()},
     )
 
     return keymap
diff --git a/source/blender/windowmanager/gizmo/WM_gizmo_api.h b/source/blender/windowmanager/gizmo/WM_gizmo_api.h
index ea6fcee2299..7aaf7da9a5b 100644
--- a/source/blender/windowmanager/gizmo/WM_gizmo_api.h
+++ b/source/blender/windowmanager/gizmo/WM_gizmo_api.h
@@ -240,6 +240,9 @@ struct wmKeyMap *WM_gizmogroup_keymap_generic(const struct wmGizmoGroupType *gzg
                                               struct wmKeyConfig *kc);
 struct wmKeyMap *WM_gizmogroup_keymap_generic_select(const struct wmGizmoGroupType *gzgt,
                                                      struct wmKeyConfig *kc);
+struct wmKeyMap *WM_gizmogroup_keymap_generic_drag(const struct wmGizmoGroupType *gzgt,
+                                                   struct wmKeyConfig *kc);
+
 /* Utility functions (not callbacks). */
 struct wmKeyMap *WM_gizmo_keymap_generic_with_keyconfig(struct wmKeyConfig *kc);
 struct wmKeyMap *WM_gizmo_keymap_generic(struct wmWindowManager *wm);
@@ -247,6 +250,9 @@ struct wmKeyMap *WM_gizmo_keymap_generic(struct wmWindowManager *wm);
 struct wmKeyMap *WM_gizmo_keymap_generic_select_with_keyconfig(struct wmKeyConfig *kc);
 struct wmKeyMap *WM_gizmo_keymap_generic_select(struct wmWindowManager *wm);
 
+struct wmKeyMap *WM_gizmo_keymap_generic_drag_with_keyconfig(struct wmKeyConfig *kc);
+struct wmKeyMap *WM_gizmo_keymap_generic_drag(struct wmWindowManager *wm);
+
 struct wmKeyMap *WM_gizmo_keymap_generic_click_drag_with_keyconfig(struct wmKeyConfig *kc);
 struct wmKeyMap *WM_gizmo_keymap_generic_click_drag(struct wmWindowManager *wm);
 
diff --git a/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c b/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c
index c88fb9fb228..75c2c40a6c4 100644
--- a/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c
+++ b/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c
@@ -656,6 +656,11 @@ wmKeyMap *WM_gizmogroup_keymap_generic(const wmGizmoGroupType *UNUSED(gzgt), wmK
   return WM_gizmo_keymap_generic_with_keyconfig(kc);
 }
 
+wmKeyMap *WM_gizmogroup_keymap_generic_drag(const wmGizmoGroupType *UNUSED(gzgt), wmKeyConfig *kc)
+{
+  return WM_gizmo_keymap_generic_drag_with_keyconfig(kc);
+}
+
 /**
  * Variation of #WM_gizmogroup_keymap_common but with keymap items for selection
  *
@@ -741,6 +746,16 @@ struct wmKeyMap *WM_gizmo_keymap_generic_select(wmWindowManager *wm)
   return WM_gizmo_keymap_generic_select_with_keyconfig(wm->defaultconf);
 }
 
+struct wmKeyMap *WM_gizmo_keymap_generic_drag_with_keyconfig(wmKeyConfig *kc)
+{
+  const char *idname = "Generic Gizmo Drag";
+  return WM_keymap_ensure(kc, idname, SPACE_EMPTY, RGN_TYPE_WINDOW);
+}
+struct wmKeyMap *WM_gizmo_keymap_generic_drag(wmWindowManager *wm)
+{
+  return WM_gizmo_keymap_generic_click_drag_with_keyconfig(wm->defaultconf);
+}
+
 struct wmKeyMap *WM_gizmo_keymap_generic_click_drag_with_keyconfig(wmKeyConfig *kc)
 {
   const char *idname = "Generic Gizmo Click Drag";



More information about the Bf-blender-cvs mailing list