diff options
author | Joshua Leung <aligorith@gmail.com> | 2009-01-29 01:51:42 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2009-01-29 01:51:42 +0300 |
commit | 59147ad98391c0e15621c0c743b094bbf14bfe07 (patch) | |
tree | 683a7b705fb530fe154841bdd178a121fa1b1d7c /source | |
parent | ce2446e3db7c7087efd6bccea203e0d952eab035 (diff) |
Animation Editors: Tweaking/Refresh Issues
* Added 'select-tweak' functionality to DopeSheet
* Added proper notifiers for Graph Editor updates
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/animation/anim_deps.c | 7 | ||||
-rw-r--r-- | source/blender/editors/space_action/action_ops.c | 3 | ||||
-rw-r--r-- | source/blender/editors/space_action/action_select.c | 3 |
3 files changed, 10 insertions, 3 deletions
diff --git a/source/blender/editors/animation/anim_deps.c b/source/blender/editors/animation/anim_deps.c index 07816228dad..f8e6cd2d8e8 100644 --- a/source/blender/editors/animation/anim_deps.c +++ b/source/blender/editors/animation/anim_deps.c @@ -145,6 +145,8 @@ void ANIM_animdata_send_notifiers (bContext *C, bAnimContext *ac, short data_cha /* types of notifiers to send, depends on the editor context */ switch (ac->datatype) { case ANIMCONT_DOPESHEET: /* dopesheet */ + case ANIMCONT_FCURVES: /* fcurve editor */ + case ANIMCONT_DRIVERS: /* drivers editor */ // XXX probably this will need separate handling, since these are part of dependency system { /* what action was taken */ switch (data_changed) { @@ -153,8 +155,9 @@ void ANIM_animdata_send_notifiers (bContext *C, bAnimContext *ac, short data_cha // XXX what about other cases? maybe we need general ND_KEYFRAMES or ND_ANIMATION? WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, NULL); break; - //case ANIM_CHANGED_KEYFRAMES_SELECT: // XXX what to do here? - // break; + case ANIM_CHANGED_KEYFRAMES_SELECT: // XXX what to do here? + WM_event_add_notifier(C, NC_SCENE, NULL); + break; case ANIM_CHANGED_CHANNELS: // XXX err... check available datatypes in dopesheet first? // FIXME: this currently doesn't work (to update own view) diff --git a/source/blender/editors/space_action/action_ops.c b/source/blender/editors/space_action/action_ops.c index c8d9f1ca406..87ee41c795a 100644 --- a/source/blender/editors/space_action/action_ops.c +++ b/source/blender/editors/space_action/action_ops.c @@ -138,6 +138,9 @@ static void action_keymap_keyframes (wmWindowManager *wm, ListBase *keymap) /* auto-set range */ WM_keymap_add_item(keymap, "ACT_OT_set_previewrange", PKEY, KM_PRESS, KM_CTRL|KM_ALT, 0); WM_keymap_add_item(keymap, "ACT_OT_view_all", HOMEKEY, KM_PRESS, 0, 0); + + /* generates event, needs to be after select to work */ + WM_keymap_add_item(keymap, "WM_OT_tweak_gesture", SELECTMOUSE, KM_PRESS, 0, 0); /* transform system */ transform_keymap_for_space(wm, keymap, SPACE_ACTION); diff --git a/source/blender/editors/space_action/action_select.c b/source/blender/editors/space_action/action_select.c index f1eb7688d8c..3c9e8a4215f 100644 --- a/source/blender/editors/space_action/action_select.c +++ b/source/blender/editors/space_action/action_select.c @@ -1068,7 +1068,8 @@ static int actkeys_clickselect_invoke(bContext *C, wmOperator *op, wmEvent *even /* set notifier tha things have changed */ ANIM_animdata_send_notifiers(C, &ac, ANIM_CHANGED_BOTH); - return OPERATOR_FINISHED; + /* for tweak grab to work */ + return OPERATOR_FINISHED|OPERATOR_PASS_THROUGH; } void ACT_OT_keyframes_clickselect (wmOperatorType *ot) |