[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25761] trunk/blender/source/blender: Node editor tweaks

Matt Ebb matt at mke3.net
Wed Jan 6 04:00:21 CET 2010


Revision: 25761
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25761
Author:   broken
Date:     2010-01-06 04:00:19 +0100 (Wed, 06 Jan 2010)

Log Message:
-----------
Node editor tweaks

* Cleaned up dead code, removed all traces of socket selection

* Modified border select so it's possible to have border select on mouse tweak.
With this change, by default, click+dragging on a node will select and move it, 
but click+dragging on empty space will border select.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/node.c
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/editors/space_node/node_draw.c
    trunk/blender/source/blender/editors/space_node/node_edit.c
    trunk/blender/source/blender/editors/space_node/node_ops.c
    trunk/blender/source/blender/editors/space_node/node_select.c
    trunk/blender/source/blender/makesdna/DNA_node_types.h

Modified: trunk/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/node.c	2010-01-06 01:41:00 UTC (rev 25760)
+++ trunk/blender/source/blender/blenkernel/intern/node.c	2010-01-06 03:00:19 UTC (rev 25761)
@@ -531,20 +531,6 @@
 			node->locx-= 0.5f*(min[0]+max[0]);
 			node->locy-= 0.5f*(min[1]+max[1]);
 
-			/* set selin and selout of the nodetree */
-			for(sock= node->inputs.first; sock; sock= sock->next) {
-				if(sock->flag & SOCK_SEL) {
-					ngroup->selin= sock;
-					break;
-				}
-			}
-			for(sock= node->outputs.first; sock; sock= sock->next) {
-				if(sock->flag & SOCK_SEL) {
-					ngroup->selout= sock;
-					break;
-				}
-			}
-
 			/* set socket own_index to zero since it can still have a value
 			 * from being in a group before, otherwise it doesn't get a unique
 			 * index in group_verify_own_indices */
@@ -1134,28 +1120,6 @@
 				node->flag &= ~(NODE_SELECT|NODE_ACTIVE);
 				nnode->flag |= NODE_SELECT;
 			}
-
-			/* deselect original sockets */
-			for(sock= node->inputs.first; sock; sock= sock->next) {
-				if(sock->flag & SOCK_SEL) sock->flag&= ~SOCK_SEL;
-			}
-			for(sock= node->outputs.first; sock; sock= sock->next) {
-				if(sock->flag & SOCK_SEL) sock->flag&= ~SOCK_SEL;
-			}
-			
-			/* set tree selin and selout to new sockets */
-			for(sock= nnode->inputs.first; sock; sock= sock->next) {
-				if(sock->flag & SOCK_SEL) {
-					ntree->selin= sock;
-					break;
-				}
-			}
-			for(sock= nnode->outputs.first; sock; sock= sock->next) {
-				if(sock->flag & SOCK_SEL) {
-					ntree->selout= sock;
-					break;
-				}
-			}
 		}
 		if(node==last) break;
 	}

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2010-01-06 01:41:00 UTC (rev 25760)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2010-01-06 03:00:19 UTC (rev 25761)
@@ -2129,23 +2129,7 @@
 		link->fromsock= newdataadr(fd, link->fromsock);
 		link->tosock= newdataadr(fd, link->tosock);
 	}
-	
-	/* set selin and selout */
-	for(node= ntree->nodes.first; node; node= node->next) {
-		for(sock= node->inputs.first; sock; sock= sock->next) {
-			if(sock->flag & SOCK_SEL) {
-				ntree->selin= sock;
-				break;
-			}
-		}
-		for(sock= node->outputs.first; sock; sock= sock->next) {
-			if(sock->flag & SOCK_SEL) {
-				ntree->selout= sock;
-				break;
-			}
-		}
-	}
-	
+		
 	/* type verification is in lib-link */
 }
 

Modified: trunk/blender/source/blender/editors/space_node/node_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_draw.c	2010-01-06 01:41:00 UTC (rev 25760)
+++ trunk/blender/source/blender/editors/space_node/node_draw.c	2010-01-06 03:00:19 UTC (rev 25761)
@@ -506,9 +506,7 @@
 	
 	/* choose color based on sock flags */
 	if(sock->flag & SELECT) {
-		if(sock->flag & SOCK_SEL) {
-			col[0]= 240; col[1]= 200; col[2]= 40;}
-		else if(sock->type==SOCK_VALUE) {
+		if(sock->type==SOCK_VALUE) {
 			col[0]= 200; col[1]= 200; col[2]= 200;}
 		else if(sock->type==SOCK_VECTOR) {
 			col[0]= 140; col[1]= 140; col[2]= 240;}
@@ -517,8 +515,6 @@
 		else {
 			col[0]= 140; col[1]= 240; col[2]= 140;}
 	}
-	else if(sock->flag & SOCK_SEL) {
-		col[0]= 200; col[1]= 160; col[2]= 0;}
 	else {
 		if(sock->type==-1) {
 			col[0]= 0; col[1]= 0; col[2]= 0;}

Modified: trunk/blender/source/blender/editors/space_node/node_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_edit.c	2010-01-06 01:41:00 UTC (rev 25760)
+++ trunk/blender/source/blender/editors/space_node/node_edit.c	2010-01-06 03:00:19 UTC (rev 25761)
@@ -222,116 +222,6 @@
 		WM_event_add_notifier(C, NC_TEXTURE|ND_NODES, snode->id);
 }
 
-#if 0
-static int image_detect_file_sequence(int *start_p, int *frames_p, char *str)
-{
-	SpaceFile *sfile;
-	char name[FILE_MAX], head[FILE_MAX], tail[FILE_MAX], filename[FILE_MAX];
-	int a, frame, totframe, found, minframe;
-	unsigned short numlen;
-
-	sfile= scrarea_find_space_of_type(curarea, SPACE_FILE);
-	if(sfile==NULL || sfile->filelist==NULL)
-		return 0;
-
-	/* find first frame */
-	found= 0;
-	minframe= 0;
-
-	for(a=0; a<sfile->totfile; a++) {
-		if(sfile->filelist[a].flags & ACTIVE) {
-			BLI_strncpy(name, sfile->filelist[a].relname, sizeof(name));
-			frame= BLI_stringdec(name, head, tail, &numlen);
-
-			if(!found || frame < minframe) {
-				BLI_strncpy(filename, name, sizeof(name));
-				minframe= frame;
-				found= 1;
-			}
-		}
-	}
-
-	/* not one frame found */
-	if(!found)
-		return 0;
-
-	/* counter number of following frames */
-	found= 1;
-	totframe= 0;
-
-	for(frame=minframe; found; frame++) {
-		found= 0;
-		BLI_strncpy(name, filename, sizeof(name));
-		BLI_stringenc(name, head, tail, numlen, frame);
-
-		for(a=0; a<sfile->totfile; a++) {
-			if(sfile->filelist[a].flags & ACTIVE) {
-				if(strcmp(sfile->filelist[a].relname, name) == 0) {
-					found= 1;
-					totframe++;
-					break;
-				}
-			}
-		}
-	}
-
-	if(totframe > 1) {
-		BLI_strncpy(str, sfile->dir, sizeof(name));
-		strcat(str, filename);
-
-		*start_p= minframe;
-		*frames_p= totframe;
-		return 1;
-	}
-
-	return 0;
-}
-
-static void load_node_image(char *str)	/* called from fileselect */
-{
-	SpaceNode *snode= curarea->spacedata.first;
-	bNode *node= nodeGetActive(snode->edittree);
-	Image *ima= NULL;
-	ImageUser *iuser= node->storage;
-	char filename[FILE_MAX];
-	int start=0, frames=0, sequence;
-
-	sequence= image_detect_file_sequence(&start, &frames, filename);
-	if(sequence)
-		str= filename;
-	
-	ima= BKE_add_image_file(str);
-	if(ima) {
-		if(node->id)
-			node->id->us--;
-		
-		node->id= &ima->id;
-		id_us_plus(node->id);
-
-		BLI_strncpy(node->name, node->id->name+2, 21);
-
-		if(sequence) {
-			ima->source= IMA_SRC_SEQUENCE;
-			iuser->frames= frames;
-			iuser->offset= start-1;
-		}
-				   
-		BKE_image_signal(ima, node->storage, IMA_SIGNAL_RELOAD);
-		
-		NodeTagChanged(snode->edittree, node);
-		// XXX snode_handle_recalc(C, snode);
-	}
-}
-
-static void set_node_imagepath(char *str)	/* called from fileselect */
-{
-	SpaceNode *snode= curarea->spacedata.first;
-	bNode *node= nodeGetActive(snode->edittree);
-	BLI_strncpy(((NodeImageFile *)node->storage)->name, str, sizeof( ((NodeImageFile *)node->storage)->name ));
-}
-
-#endif /* 0 */
-
 bNode *node_tree_get_editgroup(bNodeTree *nodetree)
 {
 	bNode *gnode;
@@ -343,93 +233,6 @@
 	return gnode;
 }
 
-#if 0
-
-static void composit_node_event(SpaceNode *snode, short event)
-{
-	
-	switch(event) {
-		case B_REDR:
-			// allqueue(REDRAWNODE, 1);
-			break;
-		case B_NODE_SETIMAGE:
-		{
-			bNode *node= nodeGetActive(snode->edittree);
-			char name[FILE_MAXDIR+FILE_MAXFILE];
-			
-			strcpy(name, ((NodeImageFile *)node->storage)->name);
-			if (G.qual & LR_CTRLKEY) {
-				activate_imageselect(FILE_SPECIAL, "SELECT OUTPUT DIR", name, set_node_imagepath);
-			} else {
-				activate_fileselect(FILE_SPECIAL, "SELECT OUTPUT DIR", name, set_node_imagepath);
-			}
-			break;
-		}
-		case B_NODE_TREE_EXEC:
-			// XXX			snode_handle_recalc(snode);
-			break;		
-		default:
-			/* B_NODE_EXEC */
-		{
-			bNode *node= BLI_findlink(&snode->edittree->nodes, event-B_NODE_EXEC);
-			if(node) {
-				NodeTagChanged(snode->edittree, node);
-				/* don't use NodeTagIDChanged, it gives far too many recomposites for image, scene layers, ... */
-				
-				/* not the best implementation of the world... but we need it to work now :) */
-				if(node->type==CMP_NODE_R_LAYERS && node->custom2) {
-					/* add event for this window (after render curarea can be changed) */
-					addqueue(curarea->win, UI_BUT_EVENT, B_NODE_TREE_EXEC);
-					
-					composite_node_render(snode, node);
-					// XXX			snode_handle_recalc(snode);
-					
-					/* add another event, a render can go fullscreen and open new window */
-					addqueue(curarea->win, UI_BUT_EVENT, B_NODE_TREE_EXEC);
-				}
-				else {
-					node= node_tree_get_editgroup(snode->nodetree);
-					if(node)
-						NodeTagIDChanged(snode->nodetree, node->id);
-					
-					// XXX			snode_handle_recalc(snode);
-				}
-			}
-		}			
-	}
-}
-
-static void texture_node_event(SpaceNode *snode, short event)
-{
-	switch(event) {
-		case B_REDR:
-			// allqueue(REDRAWNODE, 1);
-			break;
-		case B_NODE_LOADIMAGE:
-		{
-			bNode *node= nodeGetActive(snode->edittree);
-			char name[FILE_MAXDIR+FILE_MAXFILE];
-			
-			if(node->id)
-				strcpy(name, ((Image *)node->id)->name);
-			else strcpy(name, U.textudir);
-			if (G.qual & LR_CTRLKEY) {
-				activate_imageselect(FILE_SPECIAL, "SELECT IMAGE", name, load_node_image);
-			} else {
-				activate_fileselect(FILE_SPECIAL, "SELECT IMAGE", name, load_node_image);
-			}
-			break;
-		}
-		default:
-			/* B_NODE_EXEC */
-			ntreeTexCheckCyclics( snode->nodetree );
-			// XXX			snode_handle_recalc(snode);
-			// allqueue(REDRAWNODE, 1);
-			break;
-	}
-}
-
-#endif /* 0  */
 /* assumes nothing being done in ntree yet, sets the default in/out node */
 /* called from shading buttons or header */
 void ED_node_shader_default(Material *ma)
@@ -620,29 +423,6 @@
 		node_tree_from_ID(snode->id, &snode->nodetree, &snode->edittree, NULL);
 }
 
-#if 0
-/* on activate image viewer, check if we show it */
-static void node_active_image(Image *ima)
-{
-	ScrArea *sa;
-	SpaceImage *sima= NULL;
-	
-	/* find an imagewindow showing render result */
-	for(sa=G.curscreen->areabase.first; sa; sa= sa->next) {
-		if(sa->spacetype==SPACE_IMAGE) {
-			sima= sa->spacedata.first;
-			if(sima->image && sima->image->source!=IMA_SRC_VIEWER)
-				break;
-		}
-	}
-	if(sa && sima) {
-		sima->image= ima;
-		scrarea_queue_winredraw(sa);
-		scrarea_queue_headredraw(sa);
-	}
-}
-#endif /* 0 */
-
 void node_set_active(SpaceNode *snode, bNode *node)
 {
 	nodeSetActive(snode->edittree, node);
@@ -692,18 +472,9 @@
 				/* addnode() doesnt link this yet... */
 				node->id= (ID *)BKE_image_verify_viewer(IMA_TYPE_COMPOSITE, "Viewer Node");
 			}
-			else if(node->type==CMP_NODE_IMAGE) {
-				// XXX
-#if 0
-				if(node->id)
-					node_active_image((Image *)node->id);
-#endif
-			}
 			else if(node->type==CMP_NODE_R_LAYERS) {
 				if(node->id==NULL || node->id==(ID *)scene) {
 					scene->r.actlay= node->custom1;
-					// XXX
-					// allqueue(REDRAWBUTSSCENE, 0);
 				}
 			}
 		}
@@ -765,13 +536,6 @@
 		snode->edittree= snode->nodetree;
 	
 	ntreeSolveOrder(snode->nodetree);
-	

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list