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
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2008-12-27 19:09:56 +0300
committerTon Roosendaal <ton@blender.org>2008-12-27 19:09:56 +0300
commitf0f451fc16880315c8c094aaabd0fbf8a06ffede (patch)
treebfd93ce72af37a8c08898b745e09af08c36e4314 /source/blender/editors/space_time
parent0714d28236e66b258de90bcbb8a1a821ee424a71 (diff)
2.5
Notifier system upgrade, based on Brecht's doc. Implementation notes: http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers#Implementation In short: let's try to strictly communicate in a notifier what happened. The listeners then can act themselves. It also means that a frame-changed notifier doesn't send out redraws, the editors themselves can decide.
Diffstat (limited to 'source/blender/editors/space_time')
-rw-r--r--source/blender/editors/space_time/space_time.c5
-rw-r--r--source/blender/editors/space_time/time_header.c11
2 files changed, 9 insertions, 7 deletions
diff --git a/source/blender/editors/space_time/space_time.c b/source/blender/editors/space_time/space_time.c
index 81c5334ef31..11ab7b19a6b 100644
--- a/source/blender/editors/space_time/space_time.c
+++ b/source/blender/editors/space_time/space_time.c
@@ -164,9 +164,10 @@ static void time_main_area_draw(const bContext *C, ARegion *ar)
static void time_main_area_listener(ARegion *ar, wmNotifier *wmn)
{
/* context changes */
- switch(wmn->type) {
+ switch(wmn->category) {
- case WM_NOTE_MARKERS_CHANGED:
+ case NC_SCENE:
+ /* any scene change for now */
ED_region_tag_redraw(ar);
break;
}
diff --git a/source/blender/editors/space_time/time_header.c b/source/blender/editors/space_time/time_header.c
index b760f1f969b..94c3e03ff8c 100644
--- a/source/blender/editors/space_time/time_header.c
+++ b/source/blender/editors/space_time/time_header.c
@@ -275,7 +275,7 @@ static void do_time_framemenu(bContext *C, void *arg, int event)
}
else
scene->r.sfra = scene->r.cfra;
- WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+ WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, scene);
break;
case 2: /* Set as End */
if (scene->r.psfra) {
@@ -285,7 +285,7 @@ static void do_time_framemenu(bContext *C, void *arg, int event)
}
else
scene->r.efra = scene->r.cfra;
- WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+ WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, scene);
break;
case 3: /* Rename Marker */
//rename_marker();
@@ -362,8 +362,10 @@ void do_time_buttons(bContext *C, void *arg, int event)
switch(event) {
case B_REDRAWALL:
+ WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, scene);
+ break;
case B_NEWFRAME:
- WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+ WM_event_add_notifier(C, NC_SCENE|ND_FRAME, scene);
break;
case B_TL_REW:
scene->r.cfra= PSFRA;
@@ -374,7 +376,6 @@ void do_time_buttons(bContext *C, void *arg, int event)
break;
case B_TL_STOP:
ED_screen_animation_timer(C, 0);
- WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
break;
case B_TL_FF:
/* end frame */
@@ -402,7 +403,7 @@ void do_time_buttons(bContext *C, void *arg, int event)
scene->r.pefra= 0;
}
//BIF_undo_push("Set anim-preview range");
- WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+ WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, scene);
break;
case B_TL_INSERTKEY: