Changeset View
Changeset View
Standalone View
Standalone View
source/blender/windowmanager/intern/wm_event_system.c
| Show First 20 Lines • Show All 5,409 Lines • ▼ Show 20 Lines | |||||
| /** \} */ | /** \} */ | ||||
| /* -------------------------------------------------------------------- */ | /* -------------------------------------------------------------------- */ | ||||
| /** \name Modal Keymap Status | /** \name Modal Keymap Status | ||||
| * | * | ||||
| * \{ */ | * \{ */ | ||||
| bool WM_window_modal_keymap_status_draw(bContext *UNUSED(C), wmWindow *win, uiLayout *layout) | bool WM_window_modal_keymap_status_draw(bContext *C, wmWindow *win, uiLayout *layout) | ||||
| { | { | ||||
| wmWindowManager *wm = CTX_wm_manager(C); | |||||
| wmKeyMap *keymap = NULL; | wmKeyMap *keymap = NULL; | ||||
| wmOperator *op = NULL; | wmOperator *op = NULL; | ||||
| LISTBASE_FOREACH (wmEventHandler *, handler_base, &win->modalhandlers) { | LISTBASE_FOREACH (wmEventHandler *, handler_base, &win->modalhandlers) { | ||||
| if (handler_base->type == WM_HANDLER_TYPE_OP) { | if (handler_base->type == WM_HANDLER_TYPE_OP) { | ||||
| wmEventHandler_Op *handler = (wmEventHandler_Op *)handler_base; | wmEventHandler_Op *handler = (wmEventHandler_Op *)handler_base; | ||||
| if (handler->op != NULL) { | if (handler->op != NULL) { | ||||
| /* 'handler->keymap' could be checked too, seems not to be used. */ | /* 'handler->keymap' could be checked too, seems not to be used. */ | ||||
| wmKeyMap *keymap_test = handler->op->type->modalkeymap; | wmKeyMap *keymap_test = WM_keymap_active(wm, handler->op->type->modalkeymap); | ||||
| if (keymap_test && keymap_test->modal_items) { | if (keymap_test && keymap_test->modal_items) { | ||||
| keymap = keymap_test; | keymap = keymap_test; | ||||
| op = handler->op; | op = handler->op; | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 92 Lines • Show Last 20 Lines | |||||