Cleanup: rename keymap handler callbacks for clarity

Now there are two callbacks, the name 'keymap_callback' is too vague.
This commit is contained in:
Campbell Barton 2019-02-20 15:42:37 +11:00
parent effe750ec1
commit 7ee9fe4991
4 changed files with 23 additions and 21 deletions

View File

@ -348,7 +348,7 @@ void UI_popover_end(bContext *C, uiPopover *pup, wmKeyMap *keymap)
UI_block_flag_enable(pup->block, UI_BLOCK_SHOW_SHORTCUT_ALWAYS);
pup->keymap = keymap;
pup->keymap_handler = WM_event_add_keymap_handler_priority(&window->modalhandlers, keymap, 0);
WM_event_set_keymap_handler_callback(pup->keymap_handler, popover_keymap_fn, pup);
WM_event_set_keymap_handler_post_callback(pup->keymap_handler, popover_keymap_fn, pup);
}
handle = ui_popup_block_create(C, NULL, NULL, NULL, ui_block_func_POPOVER, pup);

View File

@ -205,9 +205,9 @@ struct wmKeyMap *WM_event_get_keymap_from_toolsystem(struct wmWindowManager *wm,
struct wmEventHandler_Keymap *WM_event_add_keymap_handler_dynamic(
ListBase *handlers, wmEventHandler_KeymapDynamicFn *keymap_fn, void *user_data);
void WM_event_remove_keymap_handler(ListBase *handlers, wmKeyMap *keymap);
void WM_event_remove_keymap_handler(ListBase *handlers, wmKeyMap *keymap);
void WM_event_set_keymap_handler_callback(
void WM_event_set_keymap_handler_post_callback(
struct wmEventHandler_Keymap *handler,
void (keymap_tag)(wmKeyMap *keymap, wmKeyMapItem *kmi, void *user_data),
void *user_data);

View File

@ -2392,7 +2392,7 @@ static int wm_handlers_do_intern(bContext *C, wmEvent *event, ListBase *handlers
for (wmKeyMapItem *kmi = keymap->items.first; kmi; kmi = kmi->next) {
if (wm_eventmatch(event, kmi)) {
struct wmEventHandler_KeymapFn keymap_callback = handler->keymap_callback;
struct wmEventHandler_KeymapPost keymap_post = handler->post;
PRINT("%s: item matched '%s'\n", __func__, kmi->idname);
@ -2404,8 +2404,8 @@ static int wm_handlers_do_intern(bContext *C, wmEvent *event, ListBase *handlers
if (action & WM_HANDLER_BREAK) {
/* not always_pass here, it denotes removed handler_base */
CLOG_INFO(WM_LOG_HANDLERS, 2, "handled! '%s'", kmi->idname);
if (keymap_callback.handle_post_fn != NULL) {
keymap_callback.handle_post_fn(keymap, kmi, keymap_callback.user_data);
if (keymap_post.post_fn != NULL) {
keymap_post.post_fn(keymap, kmi, keymap_post.user_data);
}
break;
}
@ -3427,13 +3427,13 @@ void WM_event_remove_keymap_handler(ListBase *handlers, wmKeyMap *keymap)
}
}
void WM_event_set_keymap_handler_callback(
void WM_event_set_keymap_handler_post_callback(
wmEventHandler_Keymap *handler,
void (keymap_tag)(wmKeyMap *keymap, wmKeyMapItem *kmi, void *user_data),
void *user_data)
{
handler->keymap_callback.handle_post_fn = keymap_tag;
handler->keymap_callback.user_data = user_data;
handler->post.post_fn = keymap_tag;
handler->post.user_data = user_data;
}
wmEventHandler_UI *WM_event_add_ui_handler(

View File

@ -35,11 +35,6 @@ struct ScrArea;
/* wmKeyMap is in DNA_windowmanager.h, it's saveable */
struct wmEventHandler_KeymapFn {
void (*handle_post_fn)(wmKeyMap *keymap, wmKeyMapItem *kmi, void *user_data);
void *user_data;
};
/** Custom types for handlers, for signaling, freeing */
enum eWM_EventHandlerType {
WM_HANDLER_TYPE_GIZMO = 1,
@ -59,20 +54,27 @@ typedef struct wmEventHandler {
const rcti *bblocal, *bbwin;
} wmEventHandler;
/** Run after the keymap item runs. */
struct wmEventHandler_KeymapPost {
void (*post_fn)(wmKeyMap *keymap, wmKeyMapItem *kmi, void *user_data);
void *user_data;
};
/** Support for a getter function that looks up the keymap each access. */
struct wmEventHandler_KeymapDynamic {
wmEventHandler_KeymapDynamicFn *keymap_fn;
void *user_data;
};
/** #WM_HANDLER_TYPE_KEYMAP */
typedef struct wmEventHandler_Keymap {
wmEventHandler head;
/** Pointer to builtin/custom keymaps (never NULL). */
wmKeyMap *keymap;
/** Run after the keymap item runs. */
struct wmEventHandler_KeymapFn keymap_callback;
/** Support for a getter function that looks up the keymap each access. */
struct {
wmEventHandler_KeymapDynamicFn *keymap_fn;
void *user_data;
} dynamic;
struct wmEventHandler_KeymapPost post;
struct wmEventHandler_KeymapDynamic dynamic;
struct bToolRef *keymap_tool;
} wmEventHandler_Keymap;