[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21972] branches/blender2.5/blender/source /blender: 2.5: code cleanup, added CTX_wm_space_* for each space type,

Brecht Van Lommel brecht at blender.org
Tue Jul 28 18:33:02 CEST 2009


Revision: 21972
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21972
Author:   blendix
Date:     2009-07-28 18:33:02 +0200 (Tue, 28 Jul 2009)

Log Message:
-----------
2.5: code cleanup, added CTX_wm_space_* for each space type,
instead of casting everywhere.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h
    branches/blender2.5/blender/source/blender/blenkernel/intern/context.c
    branches/blender2.5/blender/source/blender/editors/animation/anim_ops.c
    branches/blender2.5/blender/source/blender/editors/animation/keyframing.c
    branches/blender2.5/blender/source/blender/editors/armature/editarmature.c
    branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
    branches/blender2.5/blender/source/blender/editors/sculpt_paint/paint_image.c
    branches/blender2.5/blender/source/blender/editors/space_action/action_header.c
    branches/blender2.5/blender/source/blender/editors/space_action/space_action.c
    branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_context.c
    branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_header.c
    branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_ops.c
    branches/blender2.5/blender/source/blender/editors/space_buttons/space_buttons.c
    branches/blender2.5/blender/source/blender/editors/space_graph/graph_buttons.c
    branches/blender2.5/blender/source/blender/editors/space_graph/graph_header.c
    branches/blender2.5/blender/source/blender/editors/space_graph/graph_ops.c
    branches/blender2.5/blender/source/blender/editors/space_graph/space_graph.c
    branches/blender2.5/blender/source/blender/editors/space_image/image_buttons.c
    branches/blender2.5/blender/source/blender/editors/space_image/image_header.c
    branches/blender2.5/blender/source/blender/editors/space_image/image_ops.c
    branches/blender2.5/blender/source/blender/editors/space_image/space_image.c
    branches/blender2.5/blender/source/blender/editors/space_logic/logic_buttons.c
    branches/blender2.5/blender/source/blender/editors/space_logic/logic_header.c
    branches/blender2.5/blender/source/blender/editors/space_logic/logic_window.c
    branches/blender2.5/blender/source/blender/editors/space_logic/space_logic.c
    branches/blender2.5/blender/source/blender/editors/space_nla/nla_header.c
    branches/blender2.5/blender/source/blender/editors/space_nla/space_nla.c
    branches/blender2.5/blender/source/blender/editors/space_node/node_draw.c
    branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c
    branches/blender2.5/blender/source/blender/editors/space_node/node_header.c
    branches/blender2.5/blender/source/blender/editors/space_node/node_select.c
    branches/blender2.5/blender/source/blender/editors/space_node/node_state.c
    branches/blender2.5/blender/source/blender/editors/space_node/space_node.c
    branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
    branches/blender2.5/blender/source/blender/editors/space_outliner/outliner_header.c
    branches/blender2.5/blender/source/blender/editors/space_time/space_time.c
    branches/blender2.5/blender/source/blender/editors/space_time/time_header.c
    branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c
    branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c
    branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_ops.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h	2009-07-28 16:07:57 UTC (rev 21971)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h	2009-07-28 16:33:02 UTC (rev 21972)
@@ -122,6 +122,17 @@
 struct SpaceText *CTX_wm_space_text(const bContext *C);
 struct SpaceImage *CTX_wm_space_image(const bContext *C);
 struct SpaceConsole *CTX_wm_space_console(const bContext *C);
+struct SpaceButs *CTX_wm_space_buts(const bContext *C);
+struct SpaceFile *CTX_wm_space_file(const bContext *C);
+struct SpaceSeq *CTX_wm_space_seq(const bContext *C);
+struct SpaceOops *CTX_wm_space_outliner(const bContext *C);
+struct SpaceNla *CTX_wm_space_nla(const bContext *C);
+struct SpaceTime *CTX_wm_space_time(const bContext *C);
+struct SpaceNode *CTX_wm_space_node(const bContext *C);
+struct SpaceLogic *CTX_wm_space_logic(const bContext *C);
+struct SpaceIpo *CTX_wm_space_graph(const bContext *C);
+struct SpaceAction *CTX_wm_space_action(const bContext *C);
+struct SpaceInfo *CTX_wm_space_info(const bContext *C);
 
 void CTX_wm_manager_set(bContext *C, struct wmWindowManager *wm);
 void CTX_wm_window_set(bContext *C, struct wmWindow *win);

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/context.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/context.c	2009-07-28 16:07:57 UTC (rev 21971)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/context.c	2009-07-28 16:33:02 UTC (rev 21972)
@@ -256,6 +256,83 @@
 	return NULL;
 }
 
+struct SpaceButs *CTX_wm_space_buts(const bContext *C)
+{
+	if(C->wm.area && C->wm.area->spacetype==SPACE_BUTS)
+		return C->wm.area->spacedata.first;
+	return NULL;
+}
+
+struct SpaceFile *CTX_wm_space_file(const bContext *C)
+{
+	if(C->wm.area && C->wm.area->spacetype==SPACE_FILE)
+		return C->wm.area->spacedata.first;
+	return NULL;
+}
+
+struct SpaceSeq *CTX_wm_space_seq(const bContext *C)
+{
+	if(C->wm.area && C->wm.area->spacetype==SPACE_SEQ)
+		return C->wm.area->spacedata.first;
+	return NULL;
+}
+
+struct SpaceOops *CTX_wm_space_outliner(const bContext *C)
+{
+	if(C->wm.area && C->wm.area->spacetype==SPACE_OUTLINER)
+		return C->wm.area->spacedata.first;
+	return NULL;
+}
+
+struct SpaceNla *CTX_wm_space_nla(const bContext *C)
+{
+	if(C->wm.area && C->wm.area->spacetype==SPACE_NLA)
+		return C->wm.area->spacedata.first;
+	return NULL;
+}
+
+struct SpaceTime *CTX_wm_space_time(const bContext *C)
+{
+	if(C->wm.area && C->wm.area->spacetype==SPACE_TIME)
+		return C->wm.area->spacedata.first;
+	return NULL;
+}
+
+struct SpaceNode *CTX_wm_space_node(const bContext *C)
+{
+	if(C->wm.area && C->wm.area->spacetype==SPACE_NODE)
+		return C->wm.area->spacedata.first;
+	return NULL;
+}
+
+struct SpaceLogic *CTX_wm_space_logic(const bContext *C)
+{
+	if(C->wm.area && C->wm.area->spacetype==SPACE_LOGIC)
+		return C->wm.area->spacedata.first;
+	return NULL;
+}
+
+struct SpaceIpo *CTX_wm_space_graph(const bContext *C)
+{
+	if(C->wm.area && C->wm.area->spacetype==SPACE_IPO)
+		return C->wm.area->spacedata.first;
+	return NULL;
+}
+
+struct SpaceAction *CTX_wm_space_action(const bContext *C)
+{
+	if(C->wm.area && C->wm.area->spacetype==SPACE_ACTION)
+		return C->wm.area->spacedata.first;
+	return NULL;
+}
+
+struct SpaceInfo *CTX_wm_space_info(const bContext *C)
+{
+	if(C->wm.area && C->wm.area->spacetype==SPACE_INFO)
+		return C->wm.area->spacedata.first;
+	return NULL;
+}
+
 void CTX_wm_manager_set(bContext *C, wmWindowManager *wm)
 {
 	C->wm.manager= wm;

Modified: branches/blender2.5/blender/source/blender/editors/animation/anim_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/animation/anim_ops.c	2009-07-28 16:07:57 UTC (rev 21971)
+++ branches/blender2.5/blender/source/blender/editors/animation/anim_ops.c	2009-07-28 16:33:02 UTC (rev 21972)
@@ -67,7 +67,7 @@
 		return 0;
 	
 	if (curarea->spacetype == SPACE_TIME) {
-		SpaceTime *stime= (SpaceTime*)CTX_wm_space_data(C);
+		SpaceTime *stime= CTX_wm_space_time(C);
 		
 		/* timeline displays frame number only when dragging indicator */
 		// XXX make this more in line with other anim editors?
@@ -103,7 +103,7 @@
 		return;
 	
 	if (curarea->spacetype == SPACE_TIME) {
-		SpaceTime *stime= (SpaceTime*)CTX_wm_space_data(C);
+		SpaceTime *stime= CTX_wm_space_time(C);
 		
 		/* timeline displays frame number only when dragging indicator */
 		// XXX make this more in line with other anim editors?
@@ -322,31 +322,31 @@
 	switch (curarea->spacetype) {
 		case SPACE_TIME: /* TimeLine */
 		{
-			SpaceTime *stime= (SpaceTime *)CTX_wm_space_data(C);
+			SpaceTime *stime= CTX_wm_space_time(C);
 			stime->flag ^= TIME_DRAWFRAMES;
 		}
 			break;
 		case SPACE_ACTION: /* Action Editor */
 		{
-			SpaceAction *saction= (SpaceAction *)CTX_wm_space_data(C);
+			SpaceAction *saction= CTX_wm_space_action(C);
 			saction->flag ^= SACTION_DRAWTIME;
 		}
 			break;
 		case SPACE_IPO: /* Graph Editor */
 		{
-			SpaceIpo *sipo= (SpaceIpo *)CTX_wm_space_data(C);
+			SpaceIpo *sipo= CTX_wm_space_graph(C);
 			sipo->flag ^= SIPO_DRAWTIME;
 		}
 			break;
 		case SPACE_NLA: /* NLA Editor */
 		{
-			SpaceNla *snla= (SpaceNla *)CTX_wm_space_data(C);
+			SpaceNla *snla= CTX_wm_space_nla(C);
 			snla->flag ^= SNLA_DRAWTIME;
 		}
 			break;
 		case SPACE_SEQ: /* Sequencer */
 		{
-			SpaceSeq *sseq= (SpaceSeq *)CTX_wm_space_data(C);
+			SpaceSeq *sseq= CTX_wm_space_seq(C);
 			sseq->flag ^= SEQ_DRAWFRAMES;
 		}
 			break;

Modified: branches/blender2.5/blender/source/blender/editors/animation/keyframing.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/animation/keyframing.c	2009-07-28 16:07:57 UTC (rev 21971)
+++ branches/blender2.5/blender/source/blender/editors/animation/keyframing.c	2009-07-28 16:33:02 UTC (rev 21972)
@@ -965,18 +965,15 @@
 {
 	ScrArea *sa= CTX_wm_area(C);
 	Scene *scene= CTX_data_scene(C);
+	SpaceOops *so= CTX_wm_space_outliner(C);
 	
 	/* if no area or active scene */
 	if (ELEM(NULL, sa, scene)) 
 		return 0;
 	
 	/* if Outliner, only allow in DataBlocks view */
-	if (sa->spacetype == SPACE_OUTLINER) {
-		SpaceOops *so= (SpaceOops *)CTX_wm_space_data(C);
-		
-		if ((so->outlinevis != SO_DATABLOCKS))
-			return 0;
-	}
+	if (so && (so->outlinevis != SO_DATABLOCKS))
+		return 0;
 	
 	/* TODO: checks for other space types can be added here */
 	

Modified: branches/blender2.5/blender/source/blender/editors/armature/editarmature.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/armature/editarmature.c	2009-07-28 16:07:57 UTC (rev 21971)
+++ branches/blender2.5/blender/source/blender/editors/armature/editarmature.c	2009-07-28 16:33:02 UTC (rev 21972)
@@ -2033,7 +2033,7 @@
 static int armature_calc_roll_exec(bContext *C, wmOperator *op) 
 {
 	Scene *scene= CTX_data_scene(C);
-	View3D *v3d= (View3D *)CTX_wm_space_data(C);
+	View3D *v3d= CTX_wm_view3d(C);
 	Object *ob= CTX_data_edit_object(C);
 	void (*roll_func)(Scene *, View3D *, EditBone *) = NULL;
 	
@@ -2851,7 +2851,7 @@
 	Object *obedit= CTX_data_edit_object(C);
 	bArmature *arm= (obedit) ? obedit->data : NULL;
 	Scene *scene= CTX_data_scene(C);
-	View3D *v3d= (View3D *)CTX_wm_space_data(C);
+	View3D *v3d= CTX_wm_view3d(C);
 	EditBone *newbone=NULL;
 	ListBase points = {NULL, NULL};
 	int count;

Modified: branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c	2009-07-28 16:07:57 UTC (rev 21971)
+++ branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c	2009-07-28 16:33:02 UTC (rev 21972)
@@ -168,11 +168,11 @@
 
 int ED_operator_node_active(bContext *C)
 {
-	if(ed_spacetype_test(C, SPACE_NODE)) {
-		SpaceNode *snode= (SpaceNode *)CTX_wm_space_data(C);
-		if(snode->edittree)
-			return 1;
-	}
+	SpaceNode *snode= CTX_wm_space_node(C);
+
+	if(snode && snode->edittree)
+		return 1;
+
 	return 0;
 }
 

Modified: branches/blender2.5/blender/source/blender/editors/sculpt_paint/paint_image.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/sculpt_paint/paint_image.c	2009-07-28 16:07:57 UTC (rev 21971)
+++ branches/blender2.5/blender/source/blender/editors/sculpt_paint/paint_image.c	2009-07-28 16:33:02 UTC (rev 21972)
@@ -4387,10 +4387,9 @@
 		return 1;
 	}
 	else {
-		ScrArea *sa= CTX_wm_area(C);
-		SpaceImage *sima= (SpaceImage*)CTX_wm_space_data(C);
+		SpaceImage *sima= CTX_wm_space_image(C);
 
-		if(sa && sa->spacetype==SPACE_IMAGE) {
+		if(sima) {
 			ARegion *ar= CTX_wm_region(C);
 
 			if((sima->flag & SI_DRAWTOOL) && ar->regiontype==RGN_TYPE_WINDOW)
@@ -4507,7 +4506,7 @@
 			view3d_set_viewcontext(C, &pop->vc);
 	}
 	else {
-		pop->s.sima= (SpaceImage*)CTX_wm_space_data(C);
+		pop->s.sima= CTX_wm_space_image(C);
 		pop->s.v2d= &CTX_wm_region(C)->v2d;
 	}
 
@@ -4815,7 +4814,7 @@
 	RegionView3D *rv3d= CTX_wm_region_view3d(C);
 
 	if(!rv3d) {
-		SpaceImage *sima= (SpaceImage*)CTX_wm_space_data(C);
+		SpaceImage *sima= CTX_wm_space_image(C);
 		ARegion *ar= CTX_wm_region(C);
 		
 		ED_space_image_zoom(sima, ar, zoomx, zoomy);

Modified: branches/blender2.5/blender/source/blender/editors/space_action/action_header.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_action/action_header.c	2009-07-28 16:07:57 UTC (rev 21971)
+++ branches/blender2.5/blender/source/blender/editors/space_action/action_header.c	2009-07-28 16:33:02 UTC (rev 21972)
@@ -77,7 +77,7 @@
 {
 	bScreen *sc= CTX_wm_screen(C);
 	ScrArea *sa= CTX_wm_area(C);
-	SpaceAction *sact= (SpaceAction*)CTX_wm_space_data(C);
+	SpaceAction *sact= CTX_wm_space_action(C);
 	PointerRNA spaceptr;
 	
 	/* retrieve state */
@@ -248,7 +248,7 @@
 
 static void saction_idpoin_handle(bContext *C, ID *id, int event)
 {
-	SpaceAction *saction= (SpaceAction*)CTX_wm_space_data(C);
+	SpaceAction *saction= CTX_wm_space_action(C);
 	Object *obact= CTX_data_active_object(C);
 	
 	printf("actedit do id: \n");
@@ -296,7 +296,7 @@

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list