Blender Git Commit Log
Git Commits -> Revision 3b29e53
Revision 3b29e53 by Julian Eisel (temp_widgets_c++_experiment, temp_widgets_files_refactor, temp_widgets_update_tagging, UI-experiments, wiggly-widgets) September 24, 2015, 22:07 (GMT) |
Initial support for custom keymaps per widget group This adds widget-group level, configurable keymaps. This means, for each widget group (e.g. Manipulator Widgets, Camera Widgets, etc), 6 keymap entries are added: * Widget Activate (action-mouse down) * Widget Activate (actually deactivate - action-mouse up) * Widget Tweak (mouse move) * Widget Tweak Cancel (RMB) * Widget Tweak Cancel (esc) * Widget Select (only for selectable widgets - select-mouse) This might be useful e.g. to set certain widgets to activate on tweak event only to resove conflicts (see manipulator vs. selection with LMB-select conflict), and for things like setting a widget values using shortcuts (not yet possible, but easy to add now). Further, this greatly improves the IMHO current ugliest part of the widget backend, the event system part/hack :P o/ One remaining issue is that the keymap items only appear using search, they are not displayed in the keymap editor list by default (didn't investigate yet). Old functionality was ported over to new system, everything should work fine still. |
Commit Details:
Full Hash: 3b29e53626f9044ce6e5b75ca1c91bf467c493d1
Parent Commit: 97eed9b
Lines Changed: +379, -53
14 Modified Paths:
/source/blender/editors/object/object_edit.c (+3, -2) (Diff)
/source/blender/editors/space_graph/graph_edit.c (+4, -1) (Diff)
/source/blender/editors/space_node/space_node.c (+5, -1) (Diff)
/source/blender/editors/space_sequencer/sequencer_view.c (+8, -3) (Diff)
/source/blender/editors/space_view3d/space_view3d.c (+20, -5) (Diff)
/source/blender/makesrna/intern/rna_wm.c (+1, -1) (Diff)
/source/blender/windowmanager/intern/wm.c (+1, -0) (Diff)
/source/blender/windowmanager/intern/wm_event_system.c (+54, -5) (Diff)
/source/blender/windowmanager/intern/wm_operators.c (+6, -0) (Diff)
/source/blender/windowmanager/intern/wm_widgets.c (+247, -29) (Diff)
/source/blender/windowmanager/wm.h (+9, -0) (Diff)
/source/blender/windowmanager/WM_api.h (+8, -4) (Diff)
/source/blender/windowmanager/wm_event_system.h (+3, -1) (Diff)
/source/blender/windowmanager/WM_types.h (+10, -1) (Diff)
/source/blender/editors/space_graph/graph_edit.c (+4, -1) (Diff)
/source/blender/editors/space_node/space_node.c (+5, -1) (Diff)
/source/blender/editors/space_sequencer/sequencer_view.c (+8, -3) (Diff)
/source/blender/editors/space_view3d/space_view3d.c (+20, -5) (Diff)
/source/blender/makesrna/intern/rna_wm.c (+1, -1) (Diff)
/source/blender/windowmanager/intern/wm.c (+1, -0) (Diff)
/source/blender/windowmanager/intern/wm_event_system.c (+54, -5) (Diff)
/source/blender/windowmanager/intern/wm_operators.c (+6, -0) (Diff)
/source/blender/windowmanager/intern/wm_widgets.c (+247, -29) (Diff)
/source/blender/windowmanager/wm.h (+9, -0) (Diff)
/source/blender/windowmanager/WM_api.h (+8, -4) (Diff)
/source/blender/windowmanager/wm_event_system.h (+3, -1) (Diff)
/source/blender/windowmanager/WM_types.h (+10, -1) (Diff)