[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18859] branches/blender2.5/blender/source /blender/editors: Action Editor - Tweaking code for refreshing.
Joshua Leung
aligorith at gmail.com
Sun Feb 8 12:06:26 CET 2009
Revision: 18859
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18859
Author: aligorith
Date: 2009-02-08 12:06:26 +0100 (Sun, 08 Feb 2009)
Log Message:
-----------
Action Editor - Tweaking code for refreshing.
Although there is currently code in place to listen to notifiers + tag updates for regions, these don't actually result in any changes yet. Everything still relies on 'manual' redraw tags for the entire area to have refreshes.
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/editors/animation/anim_deps.c
branches/blender2.5/blender/source/blender/editors/space_action/space_action.c
Modified: branches/blender2.5/blender/source/blender/editors/animation/anim_deps.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/animation/anim_deps.c 2009-02-08 10:21:38 UTC (rev 18858)
+++ branches/blender2.5/blender/source/blender/editors/animation/anim_deps.c 2009-02-08 11:06:26 UTC (rev 18859)
@@ -95,10 +95,10 @@
case ANIM_CHANGED_KEYFRAMES_VALUES:
/* keyframe values changed, so transform may have changed */
// XXX what about other cases? maybe we need general ND_KEYFRAMES or ND_ANIMATION?
- WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, NULL);
+ WM_event_add_notifier(C, NC_OBJECT|ND_KEYS|ND_TRANSFORM, NULL);
break;
- case ANIM_CHANGED_KEYFRAMES_SELECT: // XXX what to do here?
- WM_event_add_notifier(C, NC_SCENE, NULL);
+ case ANIM_CHANGED_KEYFRAMES_SELECT:
+ WM_event_add_notifier(C, NC_OBJECT|ND_KEYS, NULL);
break;
case ANIM_CHANGED_CHANNELS:
// XXX err... check available datatypes in dopesheet first?
@@ -117,8 +117,24 @@
{
Object *obact= CTX_data_active_object(C);
- // only update active object for now... more detail to come!
- WM_event_add_notifier(C, NC_OBJECT, obact);
+ switch (data_changed) {
+ case ANIM_CHANGED_KEYFRAMES_VALUES:
+ /* keyframe values changed, so transform may have changed */
+ // XXX what about other cases? maybe we need general ND_KEYFRAMES or ND_ANIMATION?
+ WM_event_add_notifier(C, NC_OBJECT|ND_KEYS|ND_TRANSFORM, obact);
+ break;
+ case ANIM_CHANGED_KEYFRAMES_SELECT:
+ WM_event_add_notifier(C, NC_OBJECT|ND_KEYS, obact);
+ break;
+ case ANIM_CHANGED_CHANNELS:
+ // XXX err... check available datatypes in dopesheet first?
+ // FIXME: this currently doesn't work (to update own view)
+ WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE|ND_BONE_SELECT, obact);
+ break;
+ }
+
+ // XXX for now, at least update own editor!
+ ED_area_tag_redraw(CTX_wm_area(C));
}
break;
Modified: branches/blender2.5/blender/source/blender/editors/space_action/space_action.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_action/space_action.c 2009-02-08 10:21:38 UTC (rev 18858)
+++ branches/blender2.5/blender/source/blender/editors/space_action/space_action.c 2009-02-08 11:06:26 UTC (rev 18859)
@@ -298,7 +298,6 @@
switch(wmn->data) {
case ND_BONE_ACTIVE:
case ND_BONE_SELECT:
- case ND_KEYS:
ED_region_tag_redraw(ar);
break;
}
@@ -327,6 +326,7 @@
case ND_BONE_ACTIVE:
case ND_BONE_SELECT:
case ND_KEYS:
+ case ND_TRANSFORM:
ED_region_tag_redraw(ar);
break;
}
More information about the Bf-blender-cvs
mailing list