[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45689] trunk/blender/source/blender: Reverted r43219 " Improved auto-hiding of unused sockets for collapsed nodes."

Lukas Toenne lukas.toenne at googlemail.com
Mon Apr 16 12:50:57 CEST 2012


Revision: 45689
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45689
Author:   lukastoenne
Date:     2012-04-16 10:50:57 +0000 (Mon, 16 Apr 2012)
Log Message:
-----------
Reverted r43219 "Improved auto-hiding of unused sockets for collapsed nodes."

This feature did have a number of flaws and caused some controversy, so removal is the better option. Hiding nodes without prior connections would just hide all the sockets, leaving an unusable node. Better way is to use the ctrl+h shortcut to explicitly hide unused sockets when necessary.

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43219

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_edit.c
    trunk/blender/source/blender/editors/space_node/node_intern.h
    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	2012-04-16 10:29:59 UTC (rev 45688)
+++ trunk/blender/source/blender/blenkernel/intern/node.c	2012-04-16 10:50:57 UTC (rev 45689)
@@ -1367,7 +1367,7 @@
 
 int nodeSocketIsHidden(bNodeSocket *sock)
 {
-	return ((sock->flag & (SOCK_HIDDEN | SOCK_AUTO_HIDDEN | SOCK_UNAVAIL)) != 0);
+	return ((sock->flag & (SOCK_HIDDEN | SOCK_UNAVAIL)) != 0);
 }
 
 void nodeSocketSetType(bNodeSocket *sock, int type)

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2012-04-16 10:29:59 UTC (rev 45688)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2012-04-16 10:50:57 UTC (rev 45689)
@@ -7672,32 +7672,6 @@
 	}
 }
 
-/* set the SOCK_AUTO_HIDDEN flag on collapsed nodes */
-static void do_versions_nodetree_socket_auto_hidden_flags_2_62(bNodeTree *ntree)
-{
-	bNode *node;
-	bNodeSocket *sock;
-	
-	for (node=ntree->nodes.first; node; node=node->next) {
-		if (node->flag & NODE_HIDDEN) {
-			for (sock=node->inputs.first; sock; sock=sock->next) {
-				if (sock->link==NULL)
-					sock->flag |= SOCK_AUTO_HIDDEN;
-			}
-			for (sock=node->outputs.first; sock; sock= sock->next) {
-				if (nodeCountSocketLinks(ntree, sock)==0)
-					sock->flag |= SOCK_AUTO_HIDDEN;
-			}
-		}
-		else {
-			for (sock=node->inputs.first; sock; sock= sock->next)
-				sock->flag &= ~SOCK_AUTO_HIDDEN;
-			for (sock=node->outputs.first; sock; sock= sock->next)
-				sock->flag &= ~SOCK_AUTO_HIDDEN;
-		}
-	}
-}
-
 static void do_versions_nodetree_multi_file_output_format_2_62_1(Scene *sce, bNodeTree *ntree)
 {
 	bNode *node;
@@ -13120,38 +13094,6 @@
 				}
 			}
 		}
-		{
-			/* set the SOCK_AUTO_HIDDEN flag on collapsed nodes */
-			Scene *sce;
-			Material *mat;
-			Tex *tex;
-			Lamp *lamp;
-			World *world;
-			bNodeTree *ntree;
-
-			for (sce=main->scene.first; sce; sce=sce->id.next)
-				if (sce->nodetree)
-					do_versions_nodetree_socket_auto_hidden_flags_2_62(sce->nodetree);
-
-			for (mat=main->mat.first; mat; mat=mat->id.next)
-				if (mat->nodetree)
-					do_versions_nodetree_socket_auto_hidden_flags_2_62(mat->nodetree);
-
-			for (tex=main->tex.first; tex; tex=tex->id.next)
-				if (tex->nodetree)
-					do_versions_nodetree_socket_auto_hidden_flags_2_62(tex->nodetree);
-
-			for (lamp=main->lamp.first; lamp; lamp=lamp->id.next)
-				if (lamp->nodetree)
-					do_versions_nodetree_socket_auto_hidden_flags_2_62(lamp->nodetree);
-
-			for (world=main->world.first; world; world=world->id.next)
-				if (world->nodetree)
-					do_versions_nodetree_socket_auto_hidden_flags_2_62(world->nodetree);
-
-			for (ntree=main->nodetree.first; ntree; ntree=ntree->id.next)
-				do_versions_nodetree_socket_auto_hidden_flags_2_62(ntree);
-		}
 	}
 
 	if (main->versionfile < 261 || (main->versionfile == 261 && main->subversionfile < 2))

Modified: trunk/blender/source/blender/editors/space_node/node_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_edit.c	2012-04-16 10:29:59 UTC (rev 45688)
+++ trunk/blender/source/blender/editors/space_node/node_edit.c	2012-04-16 10:50:57 UTC (rev 45689)
@@ -1605,38 +1605,38 @@
 
 /* ********************** hidden sockets ******************** */
 
-int node_has_hidden_sockets(bNode *node, short flag)
+int node_has_hidden_sockets(bNode *node)
 {
 	bNodeSocket *sock;
 	
 	for (sock= node->inputs.first; sock; sock= sock->next)
-		if (sock->flag & flag)
+		if (sock->flag & SOCK_HIDDEN)
 			return 1;
 	for (sock= node->outputs.first; sock; sock= sock->next)
-		if (sock->flag & flag)
+		if (sock->flag & SOCK_HIDDEN)
 			return 1;
 	return 0;
 }
 
-void node_set_hidden_sockets(SpaceNode *snode, bNode *node, short flag, int set)
+void node_set_hidden_sockets(SpaceNode *snode, bNode *node, int set)
 {	
 	bNodeSocket *sock;
 
 	if (set==0) {
 		for (sock= node->inputs.first; sock; sock= sock->next)
-			sock->flag &= ~flag;
+			sock->flag &= ~SOCK_HIDDEN;
 		for (sock= node->outputs.first; sock; sock= sock->next)
-			sock->flag &= ~flag;
+			sock->flag &= ~SOCK_HIDDEN;
 	}
 	else {
 		/* hide unused sockets */
 		for (sock= node->inputs.first; sock; sock= sock->next) {
 			if (sock->link==NULL)
-				sock->flag |= flag;
+				sock->flag |= SOCK_HIDDEN;
 		}
 		for (sock= node->outputs.first; sock; sock= sock->next) {
 			if (nodeCountSocketLinks(snode->edittree, sock)==0)
-				sock->flag |= flag;
+				sock->flag |= SOCK_HIDDEN;
 		}
 	}
 }
@@ -2281,7 +2281,7 @@
 				}
 				if (sock) {
 					tlink->tosock= sock;
-					sock->flag &= ~(SOCK_HIDDEN|SOCK_AUTO_HIDDEN);
+					sock->flag &= ~SOCK_HIDDEN;
 				}
 				else {
 					nodeRemLink(snode->edittree, tlink);
@@ -2765,7 +2765,7 @@
 	for (type=maxtype; type >= 0; --type) {
 		for (sock= sockets->first; sock; sock= sock->next) {
 			if (type==sock->type) {
-				sock->flag &= ~(SOCK_HIDDEN|SOCK_AUTO_HIDDEN);
+				sock->flag &= ~SOCK_HIDDEN;
 				return sock;
 			}
 		}
@@ -3109,20 +3109,10 @@
 			if (toggle_flag== NODE_OPTIONS && (node->typeinfo->flag & NODE_OPTIONS)==0)
 				continue;
 			
-			if ( (tot_eq && tot_neq) || tot_eq==0) {
+			if ( (tot_eq && tot_neq) || tot_eq==0)
 				node->flag |= toggle_flag;
-				
-				/* hide/unhide node also toggles unlinked socket display */
-				if (toggle_flag== NODE_HIDDEN)
-					node_set_hidden_sockets(snode, node, SOCK_AUTO_HIDDEN, 1);
-			}
-			else {
+			else
 				node->flag &= ~toggle_flag;
-				
-				/* hide/unhide node also toggles unlinked socket display */
-				if (toggle_flag== NODE_HIDDEN)
-					node_set_hidden_sockets(snode, node, SOCK_AUTO_HIDDEN, 0);
-			}
 		}
 	}
 }
@@ -3235,7 +3225,7 @@
 	hidden = 0;
 	for (node= snode->edittree->nodes.first; node; node= node->next) {
 		if (node->flag & SELECT) {
-			if (node_has_hidden_sockets(node, SOCK_HIDDEN)) {
+			if (node_has_hidden_sockets(node)) {
 				hidden= 1;
 				break;
 			}
@@ -3244,7 +3234,7 @@
 	
 	for (node= snode->edittree->nodes.first; node; node= node->next) {
 		if (node->flag & SELECT) {
-			node_set_hidden_sockets(snode, node, SOCK_HIDDEN, !hidden);
+			node_set_hidden_sockets(snode, node, !hidden);
 		}
 	}
 

Modified: trunk/blender/source/blender/editors/space_node/node_intern.h
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_intern.h	2012-04-16 10:29:59 UTC (rev 45688)
+++ trunk/blender/source/blender/editors/space_node/node_intern.h	2012-04-16 10:50:57 UTC (rev 45689)
@@ -121,8 +121,8 @@
 void snode_composite_job(const struct bContext *C, ScrArea *sa);
 bNode *node_tree_get_editgroup(bNodeTree *ntree);
 void snode_autoconnect(SpaceNode *snode, int allow_multiple, int replace);
-int node_has_hidden_sockets(bNode *node, short flag);
-void node_set_hidden_sockets(SpaceNode *snode, bNode *node, short flag, int set);
+int node_has_hidden_sockets(bNode *node);
+void node_set_hidden_sockets(SpaceNode *snode, bNode *node, int set);
 int node_render_changed_exec(bContext *, wmOperator *);
 int node_find_indicated_socket(struct SpaceNode *snode, struct bNode **nodep, struct bNodeSocket **sockp, int in_out);
 

Modified: trunk/blender/source/blender/makesdna/DNA_node_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_node_types.h	2012-04-16 10:29:59 UTC (rev 45688)
+++ trunk/blender/source/blender/makesdna/DNA_node_types.h	2012-04-16 10:50:57 UTC (rev 45689)
@@ -136,7 +136,8 @@
 	/* hide socket value, if it gets auto default */
 #define SOCK_HIDE_VALUE			128
 	/* socket hidden automatically, to distinguish from manually hidden */
-#define SOCK_AUTO_HIDDEN		256
+	/* DEPRECATED, only kept here to avoid reusing the flag */
+#define SOCK_AUTO_HIDDEN__DEPRECATED	256
 
 typedef struct bNodePreview {
 	unsigned char *rect;




More information about the Bf-blender-cvs mailing list