From f699dbba86156ad3f24c24e3d369f0708b3fd1b5 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 4 Apr 2022 13:47:06 +1000 Subject: Cleanup: use event parameters for functions that create key-map items Replace 5 arguments with a single struct as the same arguments are used in many places. This didn't read well and was confusing with both arguments named `val` & `value` in the case of WM_modalkeymap_add_item. --- .../editors/interface/interface_context_menu.c | 9 ++- .../editors/space_view3d/view3d_navigate_dolly.c | 30 ++++++-- .../editors/space_view3d/view3d_navigate_move.c | 47 ++++++++++-- .../editors/space_view3d/view3d_navigate_rotate.c | 27 ++++++- .../editors/space_view3d/view3d_navigate_zoom.c | 27 ++++++- source/blender/editors/transform/transform.c | 83 +++++++++++++++++++--- 6 files changed, 193 insertions(+), 30 deletions(-) (limited to 'source/blender/editors') diff --git a/source/blender/editors/interface/interface_context_menu.c b/source/blender/editors/interface/interface_context_menu.c index 0b3d36a34c5..e58298cdaee 100644 --- a/source/blender/editors/interface/interface_context_menu.c +++ b/source/blender/editors/interface/interface_context_menu.c @@ -202,7 +202,14 @@ static uiBlock *menu_add_shortcut(bContext *C, ARegion *region, void *arg) /* XXX this guess_opname can potentially return a different keymap * than being found on adding later... */ wmKeyMap *km = WM_keymap_guess_opname(C, idname); - wmKeyMapItem *kmi = WM_keymap_add_item(km, idname, EVT_AKEY, KM_PRESS, 0, 0, KM_ANY); + wmKeyMapItem *kmi = WM_keymap_add_item(km, + idname, + &(const KeyMapItem_Params){ + .type = EVT_AKEY, + .value = KM_PRESS, + .modifier = 0, + .direction = KM_ANY, + }); const int kmi_id = kmi->id; /* This takes ownership of prop, or prop can be NULL for reset. */ diff --git a/source/blender/editors/space_view3d/view3d_navigate_dolly.c b/source/blender/editors/space_view3d/view3d_navigate_dolly.c index 0237ba8bdeb..d45b0c436ac 100644 --- a/source/blender/editors/space_view3d/view3d_navigate_dolly.c +++ b/source/blender/editors/space_view3d/view3d_navigate_dolly.c @@ -50,12 +50,30 @@ void viewdolly_modal_keymap(wmKeyConfig *keyconf) /* disabled mode switching for now, can re-implement better, later on */ #if 0 - WM_modalkeymap_add_item( - keymap, LEFTMOUSE, KM_RELEASE, KM_ANY, 0, KM_ANY, VIEWROT_MODAL_SWITCH_ROTATE); - WM_modalkeymap_add_item( - keymap, LEFTCTRLKEY, KM_RELEASE, KM_ANY, 0, KM_ANY, VIEWROT_MODAL_SWITCH_ROTATE); - WM_modalkeymap_add_item( - keymap, LEFTSHIFTKEY, KM_PRESS, KM_ANY, 0, KM_ANY, VIEWROT_MODAL_SWITCH_MOVE); + WM_modalkeymap_add_item(keymap, + &(const KeyMapItem_Params){ + .type = LEFTMOUSE, + .value = KM_RELEASE, + .modifier = KM_ANY, + .direction = KM_ANY, + }, + VIEWROT_MODAL_SWITCH_ROTATE); + WM_modalkeymap_add_item(keymap, + &(const KeyMapItem_Params){ + .type = EVT_LEFTCTRLKEY, + .value = KM_RELEASE, + .modifier = KM_ANY, + .direction = KM_ANY, + }, + VIEWROT_MODAL_SWITCH_ROTATE); + WM_modalkeymap_add_item(keymap, + &(const KeyMapItem_Params){ + .type = EVT_LEFTSHIFTKEY, + .value = KM_PRESS, + .modifier = KM_ANY, + .direction = KM_ANY, + }, + VIEWROT_MODAL_SWITCH_MOVE); #endif /* assign map to operators */ diff --git a/source/blender/editors/space_view3d/view3d_navigate_move.c b/source/blender/editors/space_view3d/view3d_navigate_move.c index af8419894b1..e653b349a2f 100644 --- a/source/blender/editors/space_view3d/view3d_navigate_move.c +++ b/source/blender/editors/space_view3d/view3d_navigate_move.c @@ -43,15 +43,50 @@ void viewmove_modal_keymap(wmKeyConfig *keyconf) keymap = WM_modalkeymap_ensure(keyconf, "View3D Move Modal", modal_items); /* items for modal map */ - WM_modalkeymap_add_item(keymap, MIDDLEMOUSE, KM_RELEASE, KM_ANY, 0, KM_ANY, VIEW_MODAL_CONFIRM); - WM_modalkeymap_add_item(keymap, EVT_ESCKEY, KM_PRESS, KM_ANY, 0, KM_ANY, VIEW_MODAL_CONFIRM); + + WM_modalkeymap_add_item(keymap, + &(const KeyMapItem_Params){ + .type = MIDDLEMOUSE, + .value = KM_RELEASE, + .modifier = KM_ANY, + .direction = KM_ANY, + }, + VIEW_MODAL_CONFIRM); + WM_modalkeymap_add_item(keymap, + &(const KeyMapItem_Params){ + .type = EVT_ESCKEY, + .value = KM_PRESS, + .modifier = KM_ANY, + .direction = KM_ANY, + }, + VIEW_MODAL_CONFIRM); /* disabled mode switching for now, can re-implement better, later on */ #if 0 - WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_PRESS, KM_ANY, 0, VIEWROT_MODAL_SWITCH_ZOOM); - WM_modalkeymap_add_item(keymap, LEFTCTRLKEY, KM_PRESS, KM_ANY, 0, VIEWROT_MODAL_SWITCH_ZOOM); - WM_modalkeymap_add_item( - keymap, LEFTSHIFTKEY, KM_RELEASE, KM_ANY, 0, VIEWROT_MODAL_SWITCH_ROTATE); + WM_modalkeymap_add_item(keymap, + &(const KeyMapItem_Params){ + .type = LEFTMOUSE, + .value = KM_PRESS, + .modifier = KM_ANY, + .direction = KM_ANY, + }, + VIEWROT_MODAL_SWITCH_ZOOM); + WM_modalkeymap_add_item(keymap, + &(const KeyMapItem_Params){ + .type = EVT_LEFTCTRLKEY, + .value = KM_PRESS, + .modifier = KM_ANY, + .direction = KM_ANY, + }, + VIEWROT_MODAL_SWITCH_ZOOM); + WM_modalkeymap_add_item(keymap, + &(const KeyMapItem_Params){ + .type = EVT_LEFTSHIFTKEY, + .value = KM_RELEASE, + .modifier = KM_ANY, + .direction = KM_ANY, + }, + VIEWROT_MODAL_SWITCH_ROTATE); #endif /* assign map to operators */ diff --git a/source/blender/editors/space_view3d/view3d_navigate_rotate.c b/source/blender/editors/space_view3d/view3d_navigate_rotate.c index a53c71bd823..c9ef6422982 100644 --- a/source/blender/editors/space_view3d/view3d_navigate_rotate.c +++ b/source/blender/editors/space_view3d/view3d_navigate_rotate.c @@ -46,9 +46,30 @@ void viewrotate_modal_keymap(wmKeyConfig *keyconf) /* disabled mode switching for now, can re-implement better, later on */ #if 0 - WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_PRESS, KM_ANY, 0, VIEWROT_MODAL_SWITCH_ZOOM); - WM_modalkeymap_add_item(keymap, LEFTCTRLKEY, KM_PRESS, KM_ANY, 0, VIEWROT_MODAL_SWITCH_ZOOM); - WM_modalkeymap_add_item(keymap, LEFTSHIFTKEY, KM_PRESS, KM_ANY, 0, VIEWROT_MODAL_SWITCH_MOVE); + WM_modalkeymap_add_item(keymap, + &(const KeyMapItem_Params){ + .type = LEFTMOUSE, + .value = KM_PRESS, + .modifier = KM_ANY, + .direction = KM_ANY, + }, + VIEWROT_MODAL_SWITCH_ZOOM); + WM_modalkeymap_add_item(keymap, + &(const KeyMapItem_Params){ + .type = EVT_LEFTCTRLKEY, + .value = KM_PRESS, + .modifier = KM_ANY, + .direction = KM_ANY, + }, + VIEWROT_MODAL_SWITCH_ZOOM); + WM_modalkeymap_add_item(keymap, + &(const KeyMapItem_Params){ + .type = EVT_LEFTSHIFTKEY, + .value = KM_PRESS, + .modifier = KM_ANY, + .direction = KM_ANY, + }, + VIEWROT_MODAL_SWITCH_MOVE); #endif /* assign map to operators */ diff --git a/source/blender/editors/space_view3d/view3d_navigate_zoom.c b/source/blender/editors/space_view3d/view3d_navigate_zoom.c index c744ef85236..a67c0850ad9 100644 --- a/source/blender/editors/space_view3d/view3d_navigate_zoom.c +++ b/source/blender/editors/space_view3d/view3d_navigate_zoom.c @@ -50,9 +50,30 @@ void viewzoom_modal_keymap(wmKeyConfig *keyconf) /* disabled mode switching for now, can re-implement better, later on */ #if 0 - WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_RELEASE, KM_ANY, 0, VIEWROT_MODAL_SWITCH_ROTATE); - WM_modalkeymap_add_item(keymap, LEFTCTRLKEY, KM_RELEASE, KM_ANY, 0, VIEWROT_MODAL_SWITCH_ROTATE); - WM_modalkeymap_add_item(keymap, LEFTSHIFTKEY, KM_PRESS, KM_ANY, 0, VIEWROT_MODAL_SWITCH_MOVE); + WM_modalkeymap_add_item(keymap, + &(const KeyMapItem_Params){ + .type = LEFTMOUSE, + .value = KM_RELEASE, + .modifier = KM_ANY, + .direction = KM_ANY, + }, + VIEWROT_MODAL_SWITCH_ROTATE); + WM_modalkeymap_add_item(keymap, + &(const KeyMapItem_Params){ + .type = EVT_LEFTCTRLKEY, + .value = KM_RELEASE, + .modifier = KM_ANY, + .direction = KM_ANY, + }, + VIEWROT_MODAL_SWITCH_ROTATE); + WM_modalkeymap_add_item(keymap, + &(const KeyMapItem_Params){ + .type = EVT_LEFTSHIFTKEY, + .value = KM_PRESS, + .modifier = KM_ANY, + .direction = KM_ANY, + }, + VIEWROT_MODAL_SWITCH_MOVE); #endif /* assign map to operators */ diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index 4058d77f42f..7a2a2a8a5e8 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -704,17 +704,78 @@ wmKeyMap *transform_modal_keymap(wmKeyConfig *keyconf) /* Default modal map values: * * \code{.c} - * WM_modalkeymap_add_item(keymap, EVT_RETKEY, KM_PRESS, KM_ANY, 0, TFM_MODAL_CONFIRM); - * WM_modalkeymap_add_item(keymap, EVT_ESCKEY, KM_PRESS, KM_ANY, 0, TFM_MODAL_CANCEL); - * WM_modalkeymap_add_item(keymap, EVT_PAGEUPKEY, KM_PRESS, KM_ANY, 0, TFM_MODAL_AUTOIK_LEN_INC); - * WM_modalkeymap_add_item( - * keymap, EVT_PAGEDOWNKEY, KM_PRESS, KM_ANY, 0, TFM_MODAL_AUTOIK_LEN_DEC); - * WM_modalkeymap_add_item(keymap, EVT_GKEY, KM_PRESS, KM_ANY, 0, TFM_MODAL_TRANSLATE); - * WM_modalkeymap_add_item(keymap, EVT_RKEY, KM_PRESS, KM_ANY, 0, TFM_MODAL_ROTATE); - * WM_modalkeymap_add_item(keymap, EVT_SKEY, KM_PRESS, KM_ANY, 0, TFM_MODAL_RESIZE); - * WM_modalkeymap_add_item(keymap, MIDDLEMOUSE, KM_PRESS, KM_ANY, 0, TFM_MODAL_AUTOCONSTRAINT); - * WM_modalkeymap_add_item( - * keymap, MIDDLEMOUSE, KM_PRESS, KM_SHIFT, 0, TFM_MODAL_AUTOCONSTRAINTPLANE); + * WM_modalkeymap_add_item(keymap, + * &(const KeyMapItem_Params){ + * .type = EVT_RETKEY, + * .value = KM_PRESS, + * .modifier = KM_ANY, + * .direction = KM_ANY, + * }, + * TFM_MODAL_CONFIRM); + * WM_modalkeymap_add_item(keymap, + * &(const KeyMapItem_Params){ + * .type = EVT_ESCKEY, + * .value = KM_PRESS, + * .modifier = KM_ANY, + * .direction = KM_ANY, + * }, + * TFM_MODAL_CANCEL); + * WM_modalkeymap_add_item(keymap, + * &(const KeyMapItem_Params){ + * .type = EVT_PAGEUPKEY, + * .value = KM_PRESS, + * .modifier = KM_ANY, + * .direction = KM_ANY, + * }, + * TFM_MODAL_AUTOIK_LEN_INC); + * WM_modalkeymap_add_item(keymap, + * &(const KeyMapItem_Params){ + * .type = EVT_PAGEDOWNKEY, + * .value = KM_PRESS, + * .modifier = KM_ANY, + * .direction = KM_ANY, + * }, + * TFM_MODAL_AUTOIK_LEN_DEC); + * WM_modalkeymap_add_item(keymap, + * &(const KeyMapItem_Params){ + * .type = EVT_GKEY, + * .value = KM_PRESS, + * .modifier = KM_ANY, + * .direction = KM_ANY, + * }, + * TFM_MODAL_TRANSLATE); + * WM_modalkeymap_add_item(keymap, + * &(const KeyMapItem_Params){ + * .type = EVT_RKEY, + * .value = KM_PRESS, + * .modifier = KM_ANY, + * .direction = KM_ANY, + * }, + * TFM_MODAL_ROTATE); + * WM_modalkeymap_add_item(keymap, + * &(const KeyMapItem_Params){ + * .type = EVT_SKEY, + * .value = KM_PRESS, + * .modifier = KM_ANY, + * .direction = KM_ANY, + * }, + * TFM_MODAL_RESIZE); + * WM_modalkeymap_add_item(keymap, + * &(const KeyMapItem_Params){ + * .type = MIDDLEMOUSE, + * .value = KM_PRESS, + * .modifier = KM_ANY, + * .direction = KM_ANY, + * }, + * TFM_MODAL_AUTOCONSTRAINT); + * WM_modalkeymap_add_item(keymap, + * &(const KeyMapItem_Params){ + * .type = MIDDLEMOUSE, + * .value = KM_PRESS, + * .modifier = KM_SHIFT, + * .direction = KM_ANY, + * }, + * TFM_MODAL_AUTOCONSTRAINTPLANE); * \endcode */ -- cgit v1.2.3