[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13153] trunk/blender/source/blender: Conversion of "Toggle Link" tool to "Make Link"

Juho Vepsalainen bebraw at gmail.com
Mon Jan 7 13:55:37 CET 2008


Revision: 13153
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13153
Author:   bebraw
Date:     2008-01-07 13:55:37 +0100 (Mon, 07 Jan 2008)

Log Message:
-----------
Conversion of "Toggle Link" tool to "Make Link"
This commit alters the behaviour of "Toggle Link" tool found in the node
editor so that it only makes link between selected sockets. Links cannot
be deleted by using the tool again as before. Instead deleting links can
be done by using the old method (drag with lmb).

The delete functionality may require further investigation to see if it
should be improved.

Modified Paths:
--------------
    trunk/blender/source/blender/include/BSE_node.h
    trunk/blender/source/blender/src/editnode.c
    trunk/blender/source/blender/src/header_node.c
    trunk/blender/source/blender/src/toolbox.c

Modified: trunk/blender/source/blender/include/BSE_node.h
===================================================================
--- trunk/blender/source/blender/include/BSE_node.h	2008-01-07 11:09:05 UTC (rev 13152)
+++ trunk/blender/source/blender/include/BSE_node.h	2008-01-07 12:55:37 UTC (rev 13153)
@@ -72,7 +72,7 @@
 void node_hide(struct SpaceNode *snode);
 void node_read_renderlayers(struct SpaceNode *snode);
 void clear_scene_in_nodes(struct Scene *sce);
-void node_toggle_link(struct SpaceNode *snode);
+void node_make_link(struct SpaceNode *snode);
 
 void node_transform_ext(int mode, int unused);
 void node_shader_default(struct Material *ma);

Modified: trunk/blender/source/blender/src/editnode.c
===================================================================
--- trunk/blender/source/blender/src/editnode.c	2008-01-07 11:09:05 UTC (rev 13152)
+++ trunk/blender/source/blender/src/editnode.c	2008-01-07 12:55:37 UTC (rev 13153)
@@ -1855,34 +1855,31 @@
 	allqueue(REDRAWNODE, 1);
 }
 
-void node_toggle_link(SpaceNode *snode)
+/* makes a link between selected output and input sockets */
+void node_make_link(SpaceNode *snode)
 {
 	bNode *fromnode, *tonode;
-	bNodeLink *remlink, *link;
+	bNodeLink *link;
 	bNodeSocket *outsock= snode->edittree->selout;
 	bNodeSocket *insock= snode->edittree->selin;
 
 	if(!insock || !outsock) return;
+	if(nodeFindLink(snode->edittree, outsock, insock)) return;
 
-	remlink= nodeFindLink(snode->edittree, outsock, insock);
-	
-	if(remlink) nodeRemLink(snode->edittree, remlink);
-	else {
-		if(nodeFindNode(snode->edittree, outsock, &fromnode, NULL) &&
-		   nodeFindNode(snode->edittree, insock, &tonode, NULL)) {
-			link= nodeAddLink(snode->edittree, fromnode, outsock, tonode, insock);
-			NodeTagChanged(snode->edittree, tonode);
-			node_remove_extra_links(snode, insock, link);
-		}
-		else return;
+	if(nodeFindNode(snode->edittree, outsock, &fromnode, NULL) &&
+		nodeFindNode(snode->edittree, insock, &tonode, NULL)) {
+		link= nodeAddLink(snode->edittree, fromnode, outsock, tonode, insock);
+		NodeTagChanged(snode->edittree, tonode);
+		node_remove_extra_links(snode, insock, link);
 	}
+	else return;
 
 	ntreeSolveOrder(snode->edittree);
 	snode_verify_groups(snode);
 	snode_handle_recalc(snode);
 
 	allqueue(REDRAWNODE, 0);
-	BIF_undo_push("Toggle Link");
+	BIF_undo_push("Make Link Between Sockets");
 }
 
 static void node_border_link_delete(SpaceNode *snode)
@@ -2278,7 +2275,7 @@
 			snode_handle_recalc(snode);
 			break;
 		case FKEY:
-			node_toggle_link(snode);
+			node_make_link(snode);
 			break;
 		case GKEY:
 			if(fromlib) fromlib= -1;

Modified: trunk/blender/source/blender/src/header_node.c
===================================================================
--- trunk/blender/source/blender/src/header_node.c	2008-01-07 11:09:05 UTC (rev 13152)
+++ trunk/blender/source/blender/src/header_node.c	2008-01-07 12:55:37 UTC (rev 13153)
@@ -513,8 +513,8 @@
 		case 10: /* execute */
 			addqueue(curarea->win, UI_BUT_EVENT, B_NODE_TREE_EXEC);
 			break;
-		case 11: /* toggle link */
-			node_toggle_link(snode);
+		case 11: /* make link */
+			node_make_link(snode);
 			break;
 	}
 	
@@ -541,7 +541,7 @@
 	
 	uiDefBut(block, SEPR, 0, "",        0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
 
-	uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Toggle Link|F", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 11, "");
+	uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Make Link|F", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 11, "");
 
 	uiDefBut(block, SEPR, 0, "",        0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
 	

Modified: trunk/blender/source/blender/src/toolbox.c
===================================================================
--- trunk/blender/source/blender/src/toolbox.c	2008-01-07 11:09:05 UTC (rev 13152)
+++ trunk/blender/source/blender/src/toolbox.c	2008-01-07 12:55:37 UTC (rev 13153)
@@ -1652,7 +1652,7 @@
 	{	0, "Duplicate|Shift D", TB_SHIFT|'d', 		NULL},
 	{	0, "Delete|X", 'x', 		NULL},
 	{	0, "SEPR", 		0, NULL},
-	{	0, "Toggle Link|F", 'f', NULL},
+	{	0, "Make Link|F", 'f', NULL},
 	{	0, "SEPR", 		0, NULL},
 	{	0, "Make Group|Ctrl G", TB_CTRL|'g', 		NULL},
 	{	0, "Ungroup|Alt G", TB_ALT|'g', 		NULL},





More information about the Bf-blender-cvs mailing list