[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [17691] branches/blender2.5/blender/source /blender: 2.5

Ton Roosendaal ton at blender.org
Wed Dec 3 14:44:16 CET 2008


Revision: 17691
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17691
Author:   ton
Date:     2008-12-03 14:44:16 +0100 (Wed, 03 Dec 2008)

Log Message:
-----------
2.5

- Made view2d manipulations redraw on area level
- simplified call to send Notifiers:

  WM_event_add_notifier(bContext *C, int type, int value, void *data)

  This brings back more control to WM, no context messing within
  operators. :) Handlers that execute operators will be responsible
  for delivering correct contextes.

  In general: should lead to making context not exposed, but only 
  readable via some callbacks. 

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/interface/interface_ops.c
    branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
    branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c
    branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
    branches/blender2.5/blender/source/blender/editors/space_time/ed_markers.c
    branches/blender2.5/blender/source/blender/editors/space_time/time_ops.c
    branches/blender2.5/blender/source/blender/windowmanager/WM_api.h
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c

Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface_ops.c	2008-12-03 13:14:01 UTC (rev 17690)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface_ops.c	2008-12-03 13:44:16 UTC (rev 17691)
@@ -1183,7 +1183,7 @@
 	}
 
 	if(changed || handled)
-		WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+		WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
 }
 
 static void ui_do_but_textedit_select(bContext *C, uiBlock *block, uiBut *but, uiActivateBut *data, wmEvent *event)
@@ -1209,7 +1209,7 @@
 
 	if(handled) {
 		ui_check_but(but);
-		WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+		WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
 	}
 }
 
@@ -1265,7 +1265,7 @@
 	if(data->interactive) ui_apply_button(block, but, data, 1);
 	else ui_check_but(but);
 
-	WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+	WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
 }
 
 /* ****************** block opening for various types **************** */
@@ -2647,7 +2647,7 @@
 	}
 
 	data->state= state;
-	WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+	WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
 }
 
 static void button_activate_init(bContext *C, ARegion *ar, wmOperator *op, uiBut *but, uiBut *lastbut)
@@ -2746,7 +2746,7 @@
 	}
 
 	/* redraw */
-	WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+	WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
 
 	/* clean up */
 	button_disable_timers(C, data);
@@ -2863,7 +2863,7 @@
 				if(event->customdata == data->tooltiptimer) {
 					if(!data->tooltip) {
 						data->tooltip= ui_tooltip_create(C, data->region, but);
-						WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+						WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
 					}
 
 					WM_event_remove_window_timer(C->window, data->tooltiptimer);
@@ -2891,14 +2891,14 @@
 				if(but && but->activate == data) {
 					if(!(but->flag & UI_SELECT)) {
 						but->flag |= UI_SELECT;
-						WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+						WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
 					}
 				}
 				else {
 					but= ui_but_find_activated(data->region, data, &block);
 					if(but->flag & UI_SELECT) {
 						but->flag &= ~UI_SELECT;
-						WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+						WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
 					}
 				}
 				break;

Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c	2008-12-03 13:14:01 UTC (rev 17690)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c	2008-12-03 13:44:16 UTC (rev 17691)
@@ -332,8 +332,8 @@
 	ar->winrct.ymax= y2;
 
 	/* notify change and redraw */
-	WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL);
-	WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+	WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL);
+	WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
 
 	return ar;
 }
@@ -342,8 +342,8 @@
 {
 	ui_remove_temporary_region(C, C->window->screen, ar);
 
-	WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL);
-	WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+	WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL);
+	WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
 }
 
 /************************* Creating Menu Blocks **********************/
@@ -650,8 +650,8 @@
 	block->flag |= UI_BLOCK_LOOP|UI_BLOCK_MOVEMOUSE_QUIT;
 
 	/* notify change and redraw */
-	WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL);
-	WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+	WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL);
+	WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
 
 	SWAP(ARegion*, C->region, ar); /* XXX 2.50 bad context swapping */
 	WM_operator_invoke(C, WM_operatortype_find("ED_UI_OT_menu_block_handle"), NULL);
@@ -665,8 +665,8 @@
 	ui_remove_temporary_region(C, C->window->screen, handle->region);
 	MEM_freeN(handle);
 
-	WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL);
-	WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+	WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL);
+	WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
 }
 
 /***************************** Menu Button ***************************/
@@ -1757,7 +1757,7 @@
 		13+50+5+80+5+100+5+100+5+200+5+150+5+100+5, 3, 100, 20, testcol, 0, 0, 0, 0 /*B_BANDCOL*/, "");
 
 	xco = 13+50+5+80+5+100+5+100+5+200+5+150+5+100+5+100+5;
-	uiDefIconButBitS(block, ICONTOG, 1 /*AUTOKEY_ON*/, REDRAWINFO, ICON_PYTHON,
+	uiDefIconButBitS(block, ICONTOG, 1 /*AUTOKEY_ON*/, REDRAWINFO, ICON_PYTHON,
 			xco, 3, 20, 20, &testicontog, 0, 0, 0, 0, "Automatic keyframe insertion for Objects and Bones");
 	xco += 5;
 

Modified: branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c	2008-12-03 13:14:01 UTC (rev 17690)
+++ branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c	2008-12-03 13:44:16 UTC (rev 17691)
@@ -34,6 +34,8 @@
 #include "DNA_space_types.h"
 #include "DNA_view2d_types.h"
 
+#include "BLI_blenlib.h"
+
 #include "BKE_global.h"
 #include "BKE_utildefines.h"
 
@@ -157,7 +159,7 @@
 	}
 	
 	/* request updates to be done... */
-	WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_AREA_REDRAW, 0, NULL);
+	WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
 	/* XXX: add WM_NOTE_TIME_CHANGED? */
 }
 
@@ -480,7 +482,7 @@
 	}
 	
 	/* request updates to be done... */
-	WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_AREA_REDRAW, 0, NULL);
+	WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
 	/* XXX: add WM_NOTE_TIME_CHANGED? */
 }
 

Modified: branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c	2008-12-03 13:14:01 UTC (rev 17690)
+++ branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c	2008-12-03 13:44:16 UTC (rev 17691)
@@ -335,7 +335,7 @@
 	area_copy_data((ScrArea *)newsc->areabase.first, C->area, 0);
 	
 	/* screen, areas init */
-	WM_event_add_notifier(C->wm, win, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL);
+	WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL);
 	
 	return OPERATOR_FINISHED;
 }
@@ -517,7 +517,7 @@
 		}
 	}
 
-	WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL);
+	WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL);
 }
 
 static void area_move_apply(bContext *C, wmOperator *op)
@@ -766,7 +766,7 @@
 		if(dir=='h') sd->origval= sd->nedge->v1->vec.y;
 		else sd->origval= sd->nedge->v1->vec.x;
 
-		WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL);
+		WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL);
 		
 		return 1;
 	}		
@@ -781,7 +781,7 @@
 		op->customdata = NULL;
 	}
 	
-	WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL);
+	WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL);
 
 	/* this makes sure aligned edges will result in aligned grabbing */
 	removedouble_scrverts(C->screen);
@@ -887,7 +887,7 @@
 			sd->delta= (dir == 'v')? event->x - sd->origval: event->y - sd->origval;
 			area_move_apply_do(C, sd->origval, sd->delta, dir, sd->bigger, sd->smaller);
 			
-			WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL);
+			WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL);
 			break;
 			
 		case LEFTMOUSE:
@@ -1090,7 +1090,7 @@
 		jd->sa2->flag &= ~AREA_FLAG_DRAWJOINTO;
 	}
 
-	WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+	WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
 	
 	area_join_exit(C, op);
 
@@ -1137,7 +1137,7 @@
 								jd->sa2 = NULL;
 							}
 						}
-						WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+						WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
 					} 
 					else {
 						/* we are back in the area previously selected for keeping 
@@ -1162,7 +1162,7 @@
 								jd->sa2->flag |= AREA_FLAG_DRAWJOINTO;
 							}
 						}
-						WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+						WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
 					}
 				}
 			}
@@ -1170,7 +1170,7 @@
 		case LEFTMOUSE:
 			if(event->val==0) {
 				area_join_apply(C, op);
-				WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL);
+				WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL);
 				area_join_exit(C, op);
 				return OPERATOR_FINISHED;
 			}

Modified: branches/blender2.5/blender/source/blender/editors/space_time/ed_markers.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_time/ed_markers.c	2008-12-03 13:14:01 UTC (rev 17690)
+++ branches/blender2.5/blender/source/blender/editors/space_time/ed_markers.c	2008-12-03 13:44:16 UTC (rev 17691)
@@ -56,6 +56,7 @@
 #include "UI_interface_icons.h"
 #include "UI_view2d.h"
 #include "UI_resources.h"
+#include "UI_text.h"
 
 #include "ED_markers.h"
 #include "ED_screen.h"
@@ -244,7 +245,6 @@
 	ListBase *markers;
 	int event_type;		/* store invoke-event, to verify */
 	int *oldframe, evtx, firstx;
-	short swinid;
 } MarkerMove;
 
 /* copy selection to temp buffer */
@@ -293,7 +293,6 @@
 		
 		mm->evtx= evt->x;
 		mm->firstx= evt->x;
-		mm->swinid= C->region->swinid;
 		mm->event_type= evt->type;
 		
 		/* add temp handler */
@@ -327,13 +326,12 @@
 /* only for modal */
 static void ed_marker_move_cancel(bContext *C, wmOperator *op)
 {
-	MarkerMove *mm= op->customdata;
 	
 	RNA_int_set(op->ptr, "frs", 0);

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list