Blender Git Loki
Git Commits -> Revision 480be71
Revision 480be71 by Ton Roosendaal (master) January 30, 2009, 18:18 (GMT) |
2.5 - Edit mesh: Add ctrl+click add vertex or extrude. I've made it not move the 3d cursor in that case. Also found out tweak events conflicted with existing keymap definitions; on tweak failure (= no mousemove) it now passes on the mouse event as 'mouse down' for the remaining keymaps to check. These then actually respond to mouse-up instead of down... The location in the keymaps where tweaks get generated remains important. Examples: 1 - 'select' mouse-handler, operator return pass-through 2 - tweak handler checks, and makes tweak event 3 - grabber responds to tweak event 1 - ctrl+mouse tweak handler checks, makes tweak event, or passes event on 2 - if tweak event, it runs lasso 3 - else when passed on, ctrl+click extrude happens In the first case, select works on mouse-down, immediate. In the second case, extrude happens on mouse-release, even though the keymap defined mouse-press. This will make designing nice balanced keymaps still not simple; especially because you can't tell operators to pass on the key... although we can add the convention that select-mouse operators always pass on to enable tweaks. Still a good reason to wait with custom keymaps when this is fully settled! |
Commit Details:
Full Hash: 480be71514a010549b62c302e2bb1216c4339b0c
SVN Revision: 18754
Parent Commit: 128c816
Lines Changed: +90, -62
17 Modified Paths:
/source/blender/editors/animation/anim_markers.c (+4, -4) (Diff)
/source/blender/editors/mesh/editmesh_add.c (+31, -8) (Diff)
/source/blender/editors/mesh/mesh_intern.h (+1, -0) (Diff)
/source/blender/editors/mesh/mesh_ops.c (+2, -0) (Diff)
/source/blender/editors/space_action/action_ops.c (+1, -1) (Diff)
/source/blender/editors/space_ipo/ipo_ops.c (+1, -1) (Diff)
/source/blender/editors/space_node/node_ops.c (+2, -2) (Diff)
/source/blender/editors/space_sequencer/sequencer_ops.c (+1, -1) (Diff)
/source/blender/editors/space_view3d/view3d_ops.c (+5, -3) (Diff)
/source/blender/editors/space_view3d/view3d_select.c (+10, -7) (Diff)
/source/blender/editors/uvedit/uvedit_ops.c (+1, -1) (Diff)
/source/blender/makesdna/DNA_windowmanager_types.h (+1, -1) (Diff)
/source/blender/windowmanager/intern/wm_event_system.c (+5, -2) (Diff)
/source/blender/windowmanager/intern/wm_keymap.c (+9, -19) (Diff)
/source/blender/windowmanager/intern/wm_operators.c (+7, -2) (Diff)
/source/blender/windowmanager/WM_api.h (+2, -3) (Diff)
/source/blender/windowmanager/WM_types.h (+7, -7) (Diff)
/source/blender/editors/mesh/editmesh_add.c (+31, -8) (Diff)
/source/blender/editors/mesh/mesh_intern.h (+1, -0) (Diff)
/source/blender/editors/mesh/mesh_ops.c (+2, -0) (Diff)
/source/blender/editors/space_action/action_ops.c (+1, -1) (Diff)
/source/blender/editors/space_ipo/ipo_ops.c (+1, -1) (Diff)
/source/blender/editors/space_node/node_ops.c (+2, -2) (Diff)
/source/blender/editors/space_sequencer/sequencer_ops.c (+1, -1) (Diff)
/source/blender/editors/space_view3d/view3d_ops.c (+5, -3) (Diff)
/source/blender/editors/space_view3d/view3d_select.c (+10, -7) (Diff)
/source/blender/editors/uvedit/uvedit_ops.c (+1, -1) (Diff)
/source/blender/makesdna/DNA_windowmanager_types.h (+1, -1) (Diff)
/source/blender/windowmanager/intern/wm_event_system.c (+5, -2) (Diff)
/source/blender/windowmanager/intern/wm_keymap.c (+9, -19) (Diff)
/source/blender/windowmanager/intern/wm_operators.c (+7, -2) (Diff)
/source/blender/windowmanager/WM_api.h (+2, -3) (Diff)
/source/blender/windowmanager/WM_types.h (+7, -7) (Diff)