Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2009-01-29 01:51:42 +0300
committerJoshua Leung <aligorith@gmail.com>2009-01-29 01:51:42 +0300
commit59147ad98391c0e15621c0c743b094bbf14bfe07 (patch)
tree683a7b705fb530fe154841bdd178a121fa1b1d7c /source
parentce2446e3db7c7087efd6bccea203e0d952eab035 (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.c7
-rw-r--r--source/blender/editors/space_action/action_ops.c3
-rw-r--r--source/blender/editors/space_action/action_select.c3
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)